找到最大人口的城市

时间:2018-02-11 20:40:09

标签: sql-server tsql

我有一个测试表,看起来像:
enter image description here

我想找到人口最多的城市。 这是我的疑问:

SELECT City, count(*) AS [Population]
INTO #stats
FROM [Customer]
GROUP BY City

SELECT City, [Population]
FROM #stats
WHERE [Population] = 
(
    SELECT max([Population])
    FROM #stats
)

DROP TABLE #stats

是否可以在一个查询中执行此操作而不使用临时表? 获得这一结果的其他更短的实际方法是什么?

1 个答案:

答案 0 :(得分:5)

是。您可以使用:

SELECT TOP 1
city, COUNT(*) AS population
FROM Customer
GROUP BY city
ORDER BY population DESC

因此,只需使用您已经编写的查询来按城市推导人口,但只选择最高结果,并确保按人口按降序排序。