我想找到人口最多的城市。 这是我的疑问:
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
是否可以在一个查询中执行此操作而不使用临时表? 获得这一结果的其他更短的实际方法是什么?
答案 0 :(得分:5)
是。您可以使用:
SELECT TOP 1
city, COUNT(*) AS population
FROM Customer
GROUP BY city
ORDER BY population DESC
因此,只需使用您已经编写的查询来按城市推导人口,但只选择最高结果,并确保按人口按降序排序。