请告诉我,也许还有其他解决方案。因此,有一个表“用户”(名字、姓氏、出生日期和体重)。您需要显示 2000 年 1 月 1 日之后出生的人的姓名和最大体重。在这种情况下,请注明“最高权重”列的名称
选项1:仅显示重量,但我希望它也显示名称;
SELECT MAX(weight_kg) AS "Наибольший вес" FROM users WHERE date_of_birth > "1999-12-31";
选项2:返回最高权重,但返回第一个用户的名字,这是不正确的;
SELECT MAX(weight_kg) AS "Наибольший вес", firstname FROM users WHERE date_of_birth > "1999-12-31";
选项3:给出了正确的结果,但是还有其他方法吗?
SELECT weight_kg AS "Наибольший вес", firstname FROM users WHERE date_of_birth > "1999-12-31" GROUP BY firstname ORDER BY weight_kg DESC LIMIT 1;
预先感谢大家:)
评论里提到的方法
这是伪代码,将其更正为所需的值
此查询返回具有最大值的所有行(如果有)。因此,您可以添加按名称排序,并按字母顺序取出最重和第一个
思想的主观评论
在我看来,这种 TS 方法仍然会更好,原因有两个: