mysql - 在一列中查找 N 个最大的元素

标签 mysql sql database select top-n

我有一个 city 表,其中包含 IDNameCountryCode 等字段人口。我想找到 Population 最多的前 N(比如 N = 5)个城市。

一种非常幼稚的方法是使用 MAX() 组函数找到人口最多的城市,然后通过此处提到的方法的变体找到其余城市。

What is the simplest SQL Query to find the second largest value?

有人知道实现目标的更好方法吗?

最佳答案

如果您只想要前 N 个城市,使用 order bylimit 将是一种更简单的方法:

SELECT   *
FROM     city
ORDER BY population DESC
LIMIT    5 -- or any other N

关于mysql - 在一列中查找 N 个最大的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35378278/

相关文章:

database - VBA 如何识别列的内容是否为数字?

PHP:如何防止用户在登录后单击后退按钮时进入登录页面?

java - 使用 Hibernate 连接到 MySQL 后执行意外查询

sql - 检查表是否继承自 PostgreSQL 中的其他表

mysql - 根据重复列返回值

mysql - 如何从group_concat mysql的结果中获取最大值

php - 根据第二个表的列数比较两个表结果

PHP PDO 更新 - 需要参数和无效的参数号

mysql - 搜索文本,返回多个单词匹配

mysql - 如何优化我的查询(排名查询)?