参考: https://www.cnblogs.com/iliuyuet/p/4585666.html

语法:ROW_NUMBER() OVER(ORDER BY COLUMN)

简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的select ACD_ID,ROW_NUMBER() OVER(ORDER BY ACD_ID desc) from cc_acdinfo是先把ACD_ID列降序,再为降序以后的每条ACD_ID记录返回一个序号。

"ACD_ID"         "ROW_NUMBER()OVER(ORDERBYACD_ID"
 "174"                       "1"
 "154"                       "2"
  "114"                      "3"
  "75"                        "4"

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

实例:

初始化数据

create table employee (empid int ,deptid int ,salary decimal(10,2))

insert into employee values(1,10,5500.00)

insert into employee values(2,10,4500.00)

insert into employee values(3,20,1900.00)

insert into employee values(4,20,4800.00)

insert into employee values(5,40,6500.00)

insert into employee values(6,40,14500.00)

insert into employee values(7,40,44500.00)

insert into employee values(8,50,6500.00)

insert into employee values(9,50,7500.00)

select deptid,salary, row_number() OVER (PARTITION BY deptid ORDER BY salary) from employee

数据显示为:

"DEPTID"    ,"SALARY",        "ROW_NUMBER()OVER(PARTITIONBYDE"
"10",          "4500.00",                                  "1"
"10",          "5500.00",                                  "2"
"20",         "1900.00",                                   "1"
"20",         "4800.00",                                   "2"
"40",          "6500.00",                                  "1"
"40",          "14500.00",                                "2"
"40",         "44500.00",                                 "3"
"50",          "6500.00",                                  "1"
"50",          "7500.00",                                  "2"

Oracle之ROW_NUMBER() OVER函数相关推荐

  1. Oracle中ROW_NUMBER() OVER()函数用法

    Oracle中ROW_NUMBER() OVER()函数用法 1. 说明:ROW_NUMBER() OVER() 函数的作用:分组排序 2. 原理: row_number() over() 函数,ov ...

  2. oracle消除重复的行使用的什么函数,利用Oracle的row_number() over函数消除重复的记录...

    2.select d.id,d.outer_code,row_number() over(partition by outer_code order by outer_code) row_flag f ...

  3. oracle数据库计算时间差,Oracle计算时间差常用函数

    Oracle计算时间差常用函数 发布时间:2020-07-08 19:25:32 来源:51CTO 阅读:877 作者:18620626259 Oracle计算时间差常用函数 两个Date类型字段:S ...

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

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

  5. oracle开窗函数是什么,ORACLE数据库(六)-----开窗函数

    ORACLE数据库(六)-----开窗函数 开窗函数又名分析函数.窗口函数.OLAP(数据分析)函数 聚合函数:将数据按照一定的规则分组,统一分析各组的某项情况,每个分组返回一行结果 开窗函数:将数据 ...

  6. MySQL 如何实现 Oracle 的 row_number() over() 分组排序功能

    文章目录 Oracle 的分组排序 MySQL 的分组排序 分析需求 创建模拟数据 SQL 实现 结果演示 Oracle 的分组排序 Oracle 的分组排序函数的语法格式如下: ROW_NUMBER ...

  7. Oracle提供的序号函数

    Oracle提供的序号函数: 以emp表为例: 1: rownum 最简单的序号 但是在order by之前就确定值. select rownum,t.* from emp t order by en ...

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

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

  9. oracle sql时间排序函数,sql的rank函数

    SQL SERVER 2008排序函数(窗口函数) 排序函数可以用来协助给结果集增加位置信息.SQL SERVER 2008只有四个排序函数,介绍如下: ROW_NUMBER:返回结果集中给定行的序号 ...

最新文章

  1. centos7 系统下搭建 lnmp 环境
  2. 【每日一算法】罗马数字转整数
  3. JSON数据的HTTP Header应该怎么标记?
  4. 将HTML5 Canvas的内容保存为图片
  5. Word2vec 讨论
  6. 魔兽最多人的服务器,魔兽怀旧服:70级热门服务器人口一览!这4大服最值得建号投入!...
  7. MATLAB入门(二)
  8. 【Python3网络爬虫开发实战】1.2.3-ChromeDriver的安装
  9. 揭露一种通过网络实施ATM诈骗的手段!
  10. 提高页面渲染速度的建议以及方案
  11. 在条码打印软件中怎样批量导入图片
  12. HTML实现网页内部的跳转
  13. linpack性能测试记录
  14. 人工智能基础——知识的表示方法,产生式表示法
  15. 狄拉克δ函数的数学迷思
  16. 如何创建一个Hidl Service?
  17. 华为手表 GT3训练计划怎么用?
  18. SQL Server 2008 创建标量值函数、存储过程
  19. 在职场中如何保持新鲜感
  20. 《吹小号的天鹅|寻找C站宝藏》

热门文章

  1. sql查看表的数据大小_查看Oracle 数据库的每天归档量及数据库大小
  2. sql server 记录删除数据ip_玻璃做介质,用光记录或删除数据,全息云存储来了!...
  3. Docker制作镜像、启动容器、查看版本、修改源、安装工具
  4. k8s修改node的ROLES标签
  5. 红黑树原件 及其插入、删除(附图说明)
  6. 深度学习目标检测网络个人总结
  7. web2py的“hello world”
  8. [Unity] ACT 战斗系统学习 4:重构前的第三人称控制器
  9. css flex布局 模型(CSS justify-content 属性) - 代码案例
  10. 判断域名来源的操作【window.location.host.indexOf(‘域名关键词‘)】 - 代码篇