Oracle 中的 ROW_NUMBER() OVER() 分析函式的用法
中的 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
把上面語句作為一個子表語句,嵌入到另一條語句中:
ID NAME DATE1
---------- ------------------------------ ------------------
101 ccc 11-SEP-13
102 eee 11-SEP-13
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2141419/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ROW_NUMBER() OVER() 分析函式的用法函式
- ROW_NUMBER() OVER函式的基本用法函式
- row_number() over函式函式
- oracle的分析函式over 及開窗函式Oracle函式
- oracle下資料的排序分組row_number() over()--分析函式,可用於去重Oracle排序函式
- OVER(PARTITION BY)函式用法函式
- SQL Server中row_number函式的常見用法SQLServer函式
- Oracle 中分析函式用法之--rank(),dense_rank(),partition,over()Oracle函式
- oracle的分析函式over(Partition by...) 及開窗函式Oracle函式
- lead lag rank()over()dense_rank()row_number()over()rollupcube幾大分析函式函式
- 分析函式 over函式
- oracle分析函式,keep and over解說Oracle函式
- 巧用row_number() over()函式,選取重複記錄中想要的值函式
- 【函式】oracle視窗函式over()的理解函式Oracle
- Oracle分析函式之開窗函式over()詳解Oracle函式
- sum()over()和count()over()分析函式函式
- 【Mysql】Mysql似oracle分析函式sum over的實現MySqlOracle函式
- Oracle over()函式使用Oracle函式
- Oracle 中 Over() 函式學習總結Oracle函式
- oracle分析函式Rank, Dense_rank, row_numberOracle函式
- Oracle統計分析函式集,over(partition by..) 的運用Oracle函式
- 分析函式rank() row_number函式
- oracle的sql查詢分析函式-高階部分-分析函授over()子句OracleSQL函式
- 分析函式中rank(),row_number(),dense_rank()的區別函式
- 【Analytic】分析函式之ROW_NUMBER函式函式
- row_number() over,rank() over,dense_rank() over的區別
- Oracle分析函式RANK(),ROW_NUMBER(),LAG()等的使用方法(轉)Oracle函式
- oracle 分析函式之(rank()/dense_rank()/row_number())Oracle函式
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式
- sql中row_number over語句SQL
- 【Oracle的NVL函式用法】Oracle函式
- Oracle dump函式的用法Oracle函式
- Oracle trunc()函式的用法Oracle函式
- Oracle 函式 Translate 的用法Oracle函式
- oracle的with函式用法示例Oracle函式
- oracle中函式to_char()的用法介紹Oracle函式
- oracle over函式 詳解(轉)Oracle函式
- 分析函式學習3 ROW_NUMBER函式