详解MySQL分组排序求Top N
程序员文章站
2022-05-19 08:55:34
mysql分组排序求top n
表结构
按照grp分组,按照num排序,每组取top 3,输出结果如下:
...
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单表查询操作实例详解【语法、约束、分组、聚合、过滤、排序等】
-
MySQL获取分组后的TOP 1和TOP N记录
-
MySQL获取分组后的TOP 1和TOP N记录
-
MySQL分类排名和分组TOP N实例详解
-
MySQL单表查询操作实例详解【语法、约束、分组、聚合、过滤、排序等】
-
MySQL分组排序取前N条记录以及生成自动数字序列--groupby后limit外加rownumber_MySQL
-
MySQL分组排序取前N条记录以及生成自动数字序列的SQL_MySQL
-
MySQL分组排序取前N条记录以及生成自动数字序列--groupby后limit外加rownumber_MySQL
-
详解MySQL分组排序求Top N
-
[MySQL]分组排序取前N条记录以及生成自动数字序列,类似groupby后limit_MySQL