如何使用sql找到第二和第三大?

时间:2015-08-14 18:12:03

标签: 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 2 PQR 1

我正在使用mysql。

1 个答案:

答案 0 :(得分:2)

LIMIT 1, 2添加到当前查询的末尾应该可以执行您想要的操作。

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

XYZ 2
PQR 1

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