首页 > 数据库 > MySQL > 正文

详解MySQL分组排序求Top N

2020-01-18 21:35:33
字体:
来源:转载
供稿:网友

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中可以通过子查询创造一个新的变量来过滤。

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表