欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解MySQL分组排序求Top N

程序员文章站 2022-05-19 08:55:34
mysql分组排序求top n 表结构   按照grp分组,按照num排序,每组取top 3,输出结果如下:    ...

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

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