Oracle 分析函数row_number() over (partition by order by )
1、格式
row_number() over(partition by 列名1 order by 列名2 desc)
2、解析
与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.
3、实例
--分析函数 SELECT USER_NAME,SCHOOL,DEPART,ROW_NUMBER() OVER(PARTITION BY USER_NAME ORDER BY SCHOOL, DEPART DESC)FROM USER_M;
结果
--分析函数 SELECT *FROM (SELECT USER_NAME,SCHOOL,DEPART,ROW_NUMBER() OVER(PARTITION BY USER_NAME ORDER BY SCHOOL, DEPART DESC) RNFROM USER_M)WHERE RN = 1;
结果
--结合分页 SELECT *FROM (SELECT A.USER_NAME,A.SCHOOL,A.DEPART,ROW_NUMBER() OVER(PARTITION BY SCHOOL ORDER BY USER_NAME, DEPART DESC) RNFROM (SELECT * FROM USER_M) AWHERE ROWNUM <= 10)WHERE RN >= 1;
结果
转载于:https://www.cnblogs.com/jian-96/p/10179862.html
Oracle 分析函数row_number() over (partition by order by )相关推荐
- Oracle分析函数-rank() over(partition by...order by...)
select *from ( SELECT t.s#,---学号 t.c#,---课程号 T.SCCORE, ---成绩 RANK() OVER(PARTITION BY t.c# ORDER BY ...
- Oracle 分析函数--Row_Number()
row_number() over ([partition by col1] order by col2) ) as 别名 表示根据col1分组,在分组内部根据 col2排序 而这个"别名& ...
- row_number() over (partition by....order by...)用法 分组排序
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编 ...
- row_number() over(partition by order by )使用说明书
作用:数据库去除重复记录,进行排序. 语法:ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 功能:表示根据COL1分组,在分组内部根据 COL2 ...
- Oracle分析函数-count(*) over(partition by 分组 order by 排序)
一.创建表与初始化数据 create table POLICY_PRODUCT_SIG ( sig_policy_no VARCHAR2(20) not null,--个单号 product_co ...
- oracle查询中over(partition by ...order by ...)用法
例: rank() over(partition by deptno order by sal desc) rank 解释: deptno -- 部门, sal -- 工资 over: 在什么条件之 ...
- MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
各班级学生成绩测试表 select * from TMP_A; 实现目的: 按照班级分类后按照分数倒序排序 采用MySQL变量简单实现,SQL如下: SELECT a.stu_id,a.point, ...
- oracle分析函数用途,深入探讨:oracle中row_number() over()分析函数用法
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...
- ORACLE中ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
row_number() OVER ( PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组 ...
- oracle中row_number用法,深入探讨:oracle中row_number() over()分析函数用法
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...
最新文章
- CSS中的margin的三种写法
- HDFS副本设置——默认3
- java 反射 Gc_深入浅析Java反射机制
- Bitmap那些事之内存占用计算和加载注意事项
- windows 连接Linux
- 两个分数化简比怎么化_我学《分数的意义》心得
- C# 微信开发-----微信会员卡(一)
- 华为数据之道_数字化与数据治理的典范实践者 | 华为数据之道
- 设计PNG免抠素材|提高调性!透明液态气泡免扣素材
- QString与std::string 有中文时的转换操作
- 缓存key生成策略的一些思考
- 蓝桥杯历年真题及答案汇总整理(Java、C语言、Python)
- XJad反编译工具下载链接及使用教程
- 软件测试做简历专业技能这样写,还怕没面试机会?
- 文本去重的技术方案讨论(一)
- ImageMagick中的convert命令转JEPG图像到PNG
- Django框架目录结构
- Spring Boot 结合 FreeMarker导出word文件
- 机器学习中的线性代数之矩阵求导
- mysq coun(*)时为啥这么慢