mysql - 如何使用sql查找第二和第三大?

标签 mysql sql

SELECT name, count(*) as num FROM `tracker` group by sender order by num desc

我想找出count(*)的第二大值和第三大值。

表格

ABC
XYZ
PQR
ABC
ABC
XYZ

通过使用查询我得到了

ABC 3
XYZ 2
PQR 1

我想分别显示XYZ 2PQR 1

我正在使用 mysql。

最佳答案

在当前查询的末尾添加 LIMIT 1, 2 应该可以达到您的要求。

在这种形式的 LIMIT 中,第一个数字是结果开始的偏移量/索引,第二个是最大结果数(正常情况下)。对于问题的例子,返回的结果应该是:

XYZ 2
PQR 1

如果您想通过单独执行的查询检索第二个和第三个,语法分别为 LIMIT 1, 1LIMIT 2, 1

关于mysql - 如何使用sql查找第二和第三大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32016304/

相关文章:

c# - 将 CSV 数据批量导入 Microsoft SQL Server Compact Edition 表?

mysql - MySQL 表中的错误 "generated Column cannot refer to auto-increment column "

mysql - 使用复杂的 HAVING 语句计算 MySQL 中的记录数

php - 如果性别类型为 0,则存储 M;如果性别类型为 1,则存储 F 使用 php 和 mysql

javascript - 从 mysql 在谷歌地图上显示标记

php - MySQL curdate() 和 now() 与 PHP date()

php - Mysql 跨表匹配

sql - 从 2 列中创建 1 列,并保留 2 列

sql - PostgreSQL 导入,如果不满足约束设置 null

mysql - 从 SQL 数据库中自动删除