[by 王谭] ROW_NUMBER() OVER() 分析函数的用法
来源:互联网 发布:mysql count用法 编辑:程序博客网 时间:2024/06/05 17:05
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
- [by 王谭] ROW_NUMBER() OVER() 分析函数的用法
- ROW_NUMBER() OVER() 分析函数的用法
- SQL中分析函数ROW_NUMBER() OVER(PARTITION BY GRADEOBJECTID ORDER BY BG.GRADEDATE DESC)的用法!!!
- Oracle 分析函数 ---OVER(),row_number(),partition by
- ROW_NUMBER() over(order by ID) 的用法
- ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
- ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
- 记录---ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
- ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
- Oracle 中的 ROW_NUMBER() OVER() 分析函数的用法
- ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
- oracle row_number() over()分析函数用法
- oracle中row_number() over()分析函数用法
- oracle中row_number() over()分析函数用法
- oracle中row_number() over()分析函数用法
- DB2 中row_number() over()分析函数用法
- ROW_NUMBER() OVER函数的基本用法用法
- ROW_NUMBER() OVER函数的基本用法用法
- 基于WinRAR软件的文件自动打包与异地备份方案
- BZOJ1040 洛谷 P2607 [ZJOI2008]骑士
- POJ 1157 LITTLE SHOP OF FLOWERS(花瓶插花问题)
- 002数据类型和运算符
- [渗透&攻防] 三.数据库之差异备份及Caidao利器
- [by 王谭] ROW_NUMBER() OVER() 分析函数的用法
- 字符串链接
- sql server 2008 链接错误
- Memcache 高可用集群之magent
- MongoTemplate笔记
- debug案例
- mysql 提示不能进行远程登录解决方法
- Python编码问题整理
- ios-清空子控件