oracle 中的 ROW_NUMBER() OVER() 函数

原创 2016年08月30日 17:57:37


ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,

而此函数计算的值就表示每组内部排序后的顺序编号(组内是连续且唯一的)。


含有上述函数的查询语句只能作为一个子表语句,嵌入到另一条语句中,如下:

SELECT ID,NAME,DATE1

FROM (

            SELECT ID,NAME,DATE1,ROW_NUMBER() OVER(partition by ID order by DATE1 desc) as RN FROM T1

           ) T

WHERE T.RN=1;


注解:RN=1就是取第1条。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Oracle数据库 row_number() over() 函数使用说明

row_number() over(partition by COLUMN_NAME1 order by COLUMN_NAME2 DESC)  含义:从1开始,为每一条分组记录返回一个数字 ...
  • shuaishifu
  • shuaishifu
  • 2014年08月08日 16:09
  • 3475

row_number() OVER(PARTITION BY)函数介绍

OVER(PARTITION BY)函数介绍 开窗函数                Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不...
  • 631799
  • 631799
  • 2012年04月01日 16:34
  • 90243

详述 SQL 中的 distinct 和 row_number() over() 的区别及用法

1 前言在咱们编写 SQL 语句操作数据库中的数据的时候,有可能会遇到一些不太爽的问题,例如对于同一字段拥有相同名称的记录,我们只需要显示一条,但实际上数据库中可能含有多条拥有相同名称的记录,从而在检...
  • qq_35246620
  • qq_35246620
  • 2017年02月22日 16:29
  • 9565

PostgreSQL ROW_NUMBER() OVER()

语法:  ROW_NUMBER() OVER( [ PRITITION BY col1] ORDER BY col2[ DESC ] ) 解释:  ROW_NUMBER()为返回的记录定义个行编...
  • luojinbai
  • luojinbai
  • 2015年04月16日 18:07
  • 7437

ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法

ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,...
  • iw1210
  • iw1210
  • 2013年09月23日 16:39
  • 52775

【SQL】—Oracle之row_number()与rownum效率大比拼

取前面11条数据的时间:rownum
  • u012654963
  • u012654963
  • 2016年08月05日 15:21
  • 2254

ROW_NUMBER()函数的使用

ROW_NUMBER()函数是Sql 2005中新添的一个函数。通常它被用在分页的SQL语句中。 微软官方的对此函数的描述是:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。 我...
  • zhifeng172
  • zhifeng172
  • 2012年05月28日 17:28
  • 4017

row_number() OVER(PARTITION BY)函数介绍

http://jingyan.baidu.com/article/9989c74604a644f648ecfef3.html http://blog.csdn.net/631799/ar...
  • wanglei880526
  • wanglei880526
  • 2017年02月21日 11:52
  • 488

分组去重ROW_NUMBER() OVER函数的基本用法

语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的RO...
  • nieyan9900
  • nieyan9900
  • 2013年11月21日 11:32
  • 1174

mysql中实现类似于oralce中row_number()的方法

mysql的row_number()及其它应用 在mysql中没有row_number()方法,不能通过判断当前记录的行数来获取前几条记录。 所以这里通过模拟row_number()来实现。 如...
  • pupilxiaoming
  • pupilxiaoming
  • 2017年01月24日 15:22
  • 2877
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 中的 ROW_NUMBER() OVER() 函数
举报原因:
原因补充:

(最多只允许输入30个字)