您的位置:首页 > 数据库 > SQL

详解MySQL分组排序求Top N

2017-07-05 09:04 633 查看

MySQL分组排序求Top N

表结构

 

按照grp分组,按照num排序,每组取Top 3,输出结果如下:


 
 

源代码:

SELECT * FROM score AS t3
WHERE (
SELECT COUNT(*) FROM score AS t1
LEFT JOIN score AS t2
ON t1.grp = t2.grp AND t1.num < t2.num
WHERE t1.id = t3.id
) < 3
ORDER BY t3.grp ASC, num DESC

在where中可以通过子查询创造一个新的变量来过滤。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL 分组排序