问题:oracle ROW_NUMBER()over;结果: ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内是连续且唯一的)。
举例:
SQL> DESC T1;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(10)
DATE1 DATE
SQL> SELECT * FROM T1;
ID NAME DATE1
---------- ------------------------------ ------------------
101 aaa 09-SEP-13
101 bbb 10-SEP-13
101 ccc 11-SEP-13
102 ddd 08-SEP-13
102 eee 11-SEP-13
SQL> SELECT ID,NAME,DATE1,ROW_NUMBER() OVER(partition by ID order by DATE1 desc) as RN FROM T1;
ID NAME DATE1 RN
---------- ------------------------------ ------------------ ----------
101 ccc 11-SEP-13 1
101 bbb 10-SEP-13 2
101 aaa 09-SEP-13 3
102 eee 11-SEP-13 1
102 ddd 08-SEP-13 2
把上面语句作为一个子表语句,嵌入到另一条语句中:
SQL> 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;
ID NAME DATE1
---------- ------------------------------ ------------------
101 ccc 11-SEP-13
102 eee 11-SEP-13
最新文章
- Linux下搭建coreseek(sphinx+mmseg3)全文检索
- css3水波纹效果
- css 分享之background-attachment 属性
- easyui加载datagrid时随着窗体大小改变而改变
- 【BZOJ】2078: [POI2004]WYS
- ANDROID_MARS学习笔记_S02_008_ANIMATION第二种使用方式:xml
- Learning WCF Chapter1 Generating a Service and Client Proxy
- 论docker中 CMD 与 ENTRYPOINT 的区别
- Codeforces 339E
- leetcode解析回文子串拆分
- pandas.read_csv参数详解
- 解析web应用处理流程
- junit 基础使用
- Asp.Net Core基于Cookie实现同域单点登录(SSO)
- 转:.NET基础篇——反射的奥妙
- style和getComputedStyle(ff)和currentStyle
- Django本地开发,debug模式引用静态文件
- order by中用子查询排序
- [转]Hibernate入门:批量插入数据
- Spark操作