ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序

而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的) RANK() 类似,不过RANK 排序的时候跟派名次一样,可以并列2个第一名之后 是第3名 LAG 表示 分组排序后 ,组内后面一条记录减前面一条记录的差,第一条可返回 NULL BTW: EXPERT ONE ON ONE 上讲的最详细,还有很多相关特性,文档看起来比较费劲 row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序)

rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)

dense_rank()l是连续排序,有两个第二名时仍然跟着第三名。

相比之下row_number是没有重复值的

lag(arg1,arg2,arg3):

arg1是从其他行返回的表达式

arg2是希望检索的当前行分区的偏移量。是一个正的偏移量,时一个往回检索以前的行的数目。

arg3是在arg2表示的数目超出了分组的范围时返回的值。

sql> set pagesize 100;

sql> select rownum from emp; ROWNUM

----------

1

2

3

4

5

6

7

8

9

10

11

12

13

14 已选择14行。 已用时间: 00: 00: 00.10

sql> select deptno,row_number() over(partition by deptno order by sal) from emp order by deptno;

DEPTNO ROW_NUMBER()OVER(PARTITIONBYDEPTNOORDERBYSAL)

---------- ---------------------------------------------

10 1

2

3 20 1

2

3

4

5 30 1

2

3

4

5

6

已选择14行。 已用时间: 00: 00: 00.41

sql> select deptno,rank() over (partition by deptno order by sal) from emp order by deptno; DEPTNO RANK()OVER(PARTITIONBYDEPTNOORDERBYSAL)

---------- ---------------------------------------

10 1

2

3 20 1

2

3

4

4 30 1

2

2

4

5

6

已选择14行。 已用时间: 00: 00: 00.21

sql> select deptno,dense_rank() over(partition by deptno order by sal) from emp order by deptno; DEPTNO DENSE_RANK()OVER(PARTITIONBYDEPTNOORDERBYSAL)

---------- ---------------------------------------------

10 1

2

3 20 1

2

3

4

4 30 1

2

2

3

4

5

已选择14行。 已用时间: 00: 00: 00.20

sql> select deptno,ename,sal,lag(ename,1,null) over(partition by deptno order by ename) from emp ord

er by deptno; DEPTNO ENAME SAL LAG(ENAME,

---------- ---------- ---------- ----------

10 CLARK 2450

KING 5000 CLARK

MILLER 1300 KING 20 ADAMS 1100

FORD 3000 ADAMS

JONES 2975 FORD

SCOTT 3000 JONES

SMITH 800 SCOTT 30 ALLEN 1600

BLAKE 2850 ALLEN

JAMES 950 BLAKE

MARTIN 1250 JAMES

TURNER 1500 MARTIN

WARD 1250 TURNER

已选择14行。 已用时间: 00: 00: 00.31

sql> select deptno,2,'example') over(partition by deptno order by ename) from em

p order by deptno; DEPTNO ENAME SAL LAG(ENAME,

---------- ---------- ---------- ----------

10 CLARK 2450 example

KING 5000 example

MILLER 1300 CLARK 20 ADAMS 1100 example

FORD 3000 example

JONES 2975 ADAMS

SCOTT 3000 FORD

SMITH 800 JONES 30 ALLEN 1600 example

BLAKE 2850 example

JAMES 950 ALLEN

MARTIN 1250 BLAKE

TURNER 1500 JAMES

WARD 1250 MARTIN 已选择14行。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

oracle 选择函数,Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法相关推荐

  1. oracle 更新flwid,Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法

    今天工作过程中用到了Oracle的分析函数,在网上查到以下文章,转到这里,以备后用! Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法 ROW_NUMBER() OV ...

  2. [转]oracle分析函数Rank, Dense_rank, row_number

    oracle分析函数Rank, Dense_rank, row_number 分析函数2(Rank, Dense_rank, row_number)   目录 ==================== ...

  3. 利用Oracle内置分析函数进行高效统计汇总

    利用Oracle内置分析函数进行高效统计汇总 分析函数是Oracle从8.1.6开始引入的一个新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者 ...

  4. ORACLE 中OVER()结合rank(),dense_rank(),rownumber() 使用方法

    Oracle over函数用法   rank ( ) over ( [query_partition_clause] order_by_clause ) dense_rank ( ) over( [q ...

  5. oracle中over()分析函数的用法

    摘自: http://www.poluoluo.com/jzxy/201004/81921.html 百度文库也记载了oracle中over()分析函数的用法 在泡坛子的时候中无意中发现了这个函数,才 ...

  6. oracle evaluate,Oracle BIEE EVALUATE系列使用数据库函数

    Oracle BIEE11中提供了EVALUATE这个函数,扩展了可以使用oracle函数的功能.以前看过晃晃悠悠写的EVALUATE的用法.我想补充另外用法.EVALUATE系列不只有BIEE Ad ...

  7. oracle evaluate,Oracle BIEE EVALUATE系列使用数据库函数

    这两天在工作中遇到这样一个需求,因为分析数据需要涉及到排序,而且排序的规则不只有一个不是通常的rank()就可以解决,且通常会变,面对这种情况,排序存在数据库中不是很好的办法, 这时候我想起来有一个叫 ...

  8. oracle取最小值怎么写,【Oracle】oracle取最大值和最小值的几个方法汇总

    (1)oracle使用keep分析函数取最值记录 --取工资sal最大的雇员姓名及其工资,以及工资sal最少的雇员姓名及其工资 selectdeptno, empno, ename, sal,max( ...

  9. Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

    最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...

  10. oracle自动化,Oracle 自动化备份脚本

    备份脚本,基于linux,windows环境需要适当修改. 主脚本,会调用2,3步骤的rman.sql&status.sql $ more main.sh #set env ######### ...

最新文章

  1. XPath crash course note
  2. PHP截取两个字符串之间的内容
  3. word2vec python实现_教程 | 在Python和TensorFlow上构建Word2Vec词嵌入模型
  4. https://github.com/fendouai/Awesome-Chatbot
  5. windows稀疏文件
  6. CentOS7 安装 Mysql 服务
  7. 人员基础信息一体化采集仪_注意!会计人员信息采集,哪些人需要采集?
  8. 拓端tecdat|R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断
  9. PIL图像处理时使用np.unit8转化报错: Cannot handle this data type: (1, 1), |O
  10. 主流强化学习算法论文综述:DQN、DDPG、TRPO、A3C、PPO、SAC、TD3
  11. 网页设计作业作品成品HTML5+CSS大作业——简单的程序员个人博客(7页) 大学个人博客网页制作教程 表格布局网页模板
  12. CImageList使用指南
  13. linux查看java堆栈
  14. 8081端口被nexus占用的情况如何解决
  15. c语言质因数分解算法蓝桥杯,【算法】 蓝桥杯 基础练习 分解质因数
  16. 川土新品 | CA-IS3105W 全集成隔离 DC-DC 转换器
  17. 分享卖货小程序制作方法_怎么在微信上做小程序卖货
  18. 物资管理系统的设计与实现
  19. linux LVM分区 查看dm设备
  20. 漫谈SLAM技术(上)

热门文章

  1. Ubuntu下Arm-Linux-GCC交叉编译环境的搭建
  2. 基于visual Studio2013解决面试题之0707最小元素
  3. vlc的应用之四:vlc的Mozilla Plugin
  4. ComponentArt Web.UI控件的bug及解决办法
  5. LNMP详解(十)——Nginx负载分担实战
  6. Bugku-Web-Cookies欺骗
  7. Linux如何修改环境变量PATH,以及系统登录时读取文件的顺序
  8. HDU--2502 月之数
  9. QUIC 将会是 WebRTC 的未来么?
  10. 13 Zuul的配置