详解MySQL分组排序求Top N
2017-07-05 09:04
633 查看
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中实现分组排序
- SQL Server多个字段分组后排序取top
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能优化
- mysql分组排序并赋予序号
- Mysql 按条件排序查询一条记录 top 1 对应Mysql的LIMIT 关键字
- 查询 按某一字段分组,组内排序,top n条数据
- MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL
- mysql分组排序查询
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能优化
- MYSQL复习笔记11-排序分组
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能.
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
- mysql 分组排序
- GridControl详解(四)分组排序汇总
- mysql分组排序方案
- mysql分组排序取前N条记录的最简洁的单条sql
- 最近总结的mysql分组排序查询语句
- Hadoop Mapreduce分区、分组、二次排序过程详解[转]
- MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能