详解MySQL分组排序求TopN

夜景如诗,豪放浪漫;夜景似文,美妙动人,夜景如画,在笔墨的淡妆浓抹里,星星月亮与灯光呈现出一幅灿烂的画卷。

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分组排序求TopN。两名工人折腾了半天,仍未能将这个沉重的箱子移动半步。最后,在门内的工人连连叹气:我看还是放弃吧,我们真的无法将这个箱子搬出去了。搬出来?更多关于详解MySQL分组排序求TopN请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
centos7安装MySQL教程

MySQL常用SQL查询语句(含复杂SQL查询)

MySQL细数发生索引失效的情况

mysqlenum字段类型的谨慎如何使用

Mysql体系化探讨令人头疼的JOIN运算