Oracle分组查询取每组排序后的前N条记录
来源:互联网 发布:苹果系统必备软件 编辑:程序博客网 时间:2024/05/02 01:20
项目中用到Oracle分组查询取每组排序后的前N条记录,group by 只能返回每个组的单条统计。所以用OVER(PARTITION BY)函数,具体详见baidu.com
建个测试表test_abc,如图:
要求查询出按B字段进行分组,每组取C值最大的前3位。
查询sql为 :
select * from (
SELECT b,c,row_number() OVER(PARTITION BY b ORDER BY c desc) e FROM test_abc) t where e <= 3
SELECT b,c,row_number() OVER(PARTITION BY b ORDER BY c desc) e FROM test_abc) t where e <= 3
查询结果截图:
记录完毕!
0 1
- Oracle分组查询取每组排序后的前N条记录
- MySQL 查询分页数据中分组后取每组的前N条记录
- MySQL 查询分页数据中分组后取每组的前N条记录
- 分组查询取每组前n条记录实例
- 分组后查找每组的前N条记录
- Oracle 分组后取每组的第一条记录
- [MySQL]分组后查找每组的前N条记录语句
- oracle中,分组后,取各组的前n条记录的sql
- orcale 查询分组后的前n条记录
- 用postgresql特性简化group by 后取每组前n条记录的方法
- 用postgresql特性简化group by 后取每组前n条记录的方法
- Oracle数据分组后取每组的一条记录
- ORACLE同一次查询取同一字段的前(后)N条记录
- Postgresql查询每组的前N条记录
- row_number和partition by分组取top数据,每组查询前N条
- sql 分组取每组的前n条或每组的n%(百分之n)的数据
- oracle中,分组后,取各组的前n条记录的sql语句:rownumber() over()
- oracle中,分组后,取各组的前n条记录的sql语句:rownumber() over()
- 【miscellaneous】理解Gstreamer架构
- 百度机器学习实习面试经历
- java线程池的深入理解(一)
- Java各个类型的取值范围
- ffmpeg学习四:写第一个程序-视频解封装与解码
- Oracle分组查询取每组排序后的前N条记录
- PHP7哈希表(数组)的内核实现
- 算法之美
- C#事件
- SSH网站开发前端问题汇总
- 教务管理系统术语表
- 在android studio运行java的主函数方式
- PHP生成日期序列
- 用Redis轻松实现秒杀系统