1、格式

row_number() over(partition by 列名1 order by 列名2 desc)

2、解析

表示根据 列名1 分组,然后在分组内部根据 列名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 )相关推荐

  1. Oracle分析函数-rank() over(partition by...order by...)

    select *from ( SELECT t.s#,---学号 t.c#,---课程号 T.SCCORE, ---成绩 RANK() OVER(PARTITION BY t.c# ORDER BY ...

  2. Oracle 分析函数--Row_Number()

    row_number() over ([partition by col1] order by col2) ) as 别名 表示根据col1分组,在分组内部根据 col2排序 而这个"别名& ...

  3. row_number() over (partition by....order by...)用法 分组排序

    row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编 ...

  4. row_number() over(partition by order by )使用说明书

    作用:数据库去除重复记录,进行排序. 语法:ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 功能:表示根据COL1分组,在分组内部根据 COL2 ...

  5. Oracle分析函数-count(*) over(partition by 分组 order by 排序)

    一.创建表与初始化数据 create table POLICY_PRODUCT_SIG ( sig_policy_no   VARCHAR2(20) not null,--个单号 product_co ...

  6. oracle查询中over(partition by ...order by ...)用法

    例: rank() over(partition by deptno order by sal desc) rank 解释: deptno -- 部门, sal -- 工资 over:  在什么条件之 ...

  7. MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能

    各班级学生成绩测试表 select * from TMP_A; 实现目的: 按照班级分类后按照分数倒序排序 采用MySQL变量简单实现,SQL如下: SELECT  a.stu_id,a.point, ...

  8. oracle分析函数用途,深入探讨:oracle中row_number() over()分析函数用法

    row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...

  9. ORACLE中ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法

    row_number()  OVER  (  PARTITION  BY  COL1  ORDER  BY  COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组 ...

  10. oracle中row_number用法,深入探讨:oracle中row_number() over()分析函数用法

    row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...

最新文章

  1. CSS中的margin的三种写法
  2. HDFS副本设置——默认3
  3. java 反射 Gc_深入浅析Java反射机制
  4. Bitmap那些事之内存占用计算和加载注意事项
  5. windows 连接Linux
  6. 两个分数化简比怎么化_我学《分数的意义》心得
  7. C# 微信开发-----微信会员卡(一)
  8. 华为数据之道_数字化与数据治理的典范实践者 | 华为数据之道
  9. 设计PNG免抠素材|提高调性!透明液态气泡免扣素材
  10. QString与std::string 有中文时的转换操作
  11. 缓存key生成策略的一些思考
  12. 蓝桥杯历年真题及答案汇总整理(Java、C语言、Python)
  13. XJad反编译工具下载链接及使用教程
  14. 软件测试做简历专业技能这样写,还怕没面试机会?
  15. 文本去重的技术方案讨论(一)
  16. ImageMagick中的convert命令转JEPG图像到PNG
  17. Django框架目录结构
  18. Spring Boot 结合 FreeMarker导出word文件
  19. 机器学习中的线性代数之矩阵求导
  20. mysq coun(*)时为啥这么慢

热门文章

  1. go语言阶段综合练习--家庭收支软件的示例--过程版本
  2. python env虚拟环境
  3. ping,python实现批量ping包工具--小案例v4优化版本
  4. 帆软数据集函数ds1.select()和ds1.group()函数的使用
  5. 如何在点击事件中取得复选框选中的单元格值
  6. 5、只出现一次的数字
  7. Go语言备忘录(1):基本数据结构
  8. 网络工程师如何避免走弯路(二)
  9. Python学习笔记—Dict和set
  10. piggy back是什么意思?