【发布时间】:2016-05-24 12:40:26
【问题描述】:
我有一个 city 表,其中包含 ID、Name、CountryCode 和 Population 等字段。我想找到Population 最大的前 N(比如 N = 5)个城市。
一个非常幼稚的方法是使用MAX() group 函数找到人口最多的城市,然后通过这里提到的方法的变体找到其余的城市。
What is the simplest SQL Query to find the second largest value?
有人知道实现目标的更好方法吗?
【问题讨论】:
-
为什么不按人口降序排列并限制N? ,这将为您提供 N 个人口最多的城市。
-
不一定有“前N个”城市之类的东西。可能有超过 N 个并列,也可能更少。 PS显然你甚至没有尝试用你的问题标题谷歌搜索'stackoverflow sql'。
标签: mysql sql database select top-n