This question already has answers here:
SQL select only rows with max value on a column [duplicate]
(27个答案)
两年前关闭。
我想在我的数据库中找出哪个国家的预期寿命最高。这就是我目前所拥有的:
SELECT Name, MAX(LifeExpectancy)
FROM country

但是,这会输出最大预期寿命,以及一个不相关的国家名称(我认为它是按字母顺序显示第一个国家),而不是与最大预期寿命相关的国家。
您如何选择预期寿命最高的国家名称?

最佳答案

一个选项是从country中选择所有记录,按预期寿命降序排列结果集,并且只保留第一条记录。

SELECT Name, LifeExpectancy
FROM country
ORDER BY LifeExpectancy DESC
LIMIT 1

如果两个或两个以上国家之间的预期寿命最大,那么你也可以尝试如下:
SELECT Name, LifeExpectancy
FROM country
WHERE LifeExpectancy = (SELECT MAX(LifeExpectancy) FROM country)

10-06 03:41