MySQL分组排序求Top N

表结构

 详解MySQL分组排序求Top N

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


 
 详解MySQL分组排序求Top N

源代码:

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分组排序,MySQL,排序

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“详解MySQL分组排序求Top N”

暂无“详解MySQL分组排序求Top N”评论...