This question already has answers here:
SQL select only rows with max value on a column [duplicate]
(27个答案)
两年前关闭。
我想在我的数据库中找出哪个国家的预期寿命最高。这就是我目前所拥有的:
但是,这会输出最大预期寿命,以及一个不相关的国家名称(我认为它是按字母顺序显示第一个国家),而不是与最大预期寿命相关的国家。
您如何选择预期寿命最高的国家名称?
如果两个或两个以上国家之间的预期寿命最大,那么你也可以尝试如下:
(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