row_number() over函式
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根據COL1分組,在分組內部根據 COL2排序,而此函式計算的值就表示每組內部排序後的順序編號(組內連續的唯一的).
舉個例子:
1、首先建立一個表
create table tab1(
id number(4),
name varchar2(100)
);
2、插入幾條記錄
insert into tab1 (ID, NAME) values (1, 'aa');
insert into tab1 (ID, NAME) values (1, 'ab');
insert into tab1 (ID, NAME) values (1, 'ac');
insert into tab1 (ID, NAME) values (2, 'bb');
insert into tab1 (ID, NAME) values (2, 'bc');
insert into tab1 (ID, NAME) values (2, 'bd');
insert into tab1 (ID, NAME) values (3, 'cc');
insert into tab1 (ID, NAME) values (3, 'cd');
insert into tab1 (ID, NAME) values (3, 'ce');
3、需求為按id分組,在組內以name排序,排序為前兩個,這時就需
要用到row_number over 函式
select * from (
select id,name,row_number() over (partition by
select id,name,row_number() over (partition by
id order by name) row_num
from tab1)
where row_num<3
from tab1)
where row_num<3
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23205405/viewspace-774962/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ROW_NUMBER() OVER() 分析函式的用法函式
- ROW_NUMBER() OVER函式的基本用法函式
- Oracle 中的 ROW_NUMBER() OVER() 分析函式的用法Oracle函式
- lead lag rank()over()dense_rank()row_number()over()rollupcube幾大分析函式函式
- 巧用row_number() over()函式,選取重複記錄中想要的值函式
- 分析函式 over函式
- row_number() over,rank() over,dense_rank() over的區別
- sum()over()和count()over()分析函式函式
- OVER(PARTITION BY)函式用法函式
- Oracle over()函式使用Oracle函式
- oracle下資料的排序分組row_number() over()--分析函式,可用於去重Oracle排序函式
- 【Analytic】分析函式之ROW_NUMBER函式函式
- 分析函式rank() row_number函式
- sql中row_number over語句SQL
- SQL語句中的rank () over , row_number() over ,rank_dense ()SQL
- 【函式】oracle視窗函式over()的理解函式Oracle
- oracle的分析函式over 及開窗函式Oracle函式
- oracle over函式 詳解(轉)Oracle函式
- Oracle分析函式之開窗函式over()詳解Oracle函式
- SqlServer 分頁 ROW_NUMBER() OVER(Order by * DESC ) AS RowNumberSQLServer
- 理解了row_number()over (partition by order by )的方法
- 分析函式學習3 ROW_NUMBER函式
- oracle分析函式,keep and over解說Oracle函式
- oracle的分析函式over(Partition by...) 及開窗函式Oracle函式
- 視窗函式 row_number 去重複函式
- rank,dense_rank,row_number 分析函式函式
- 分析函式row_number()使用一例函式
- 使用row_number()分頁函式取代group by函式
- Spark Streaming--開窗函式over()Spark函式
- 語法:OVER(PARTITION BY)及開窗函式函式
- Oracle 中 Over() 函式學習總結Oracle函式
- mysql自動排序函式dense_rank() over()、rank() over()、row_num() over()用法和區別MySql排序函式
- row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- oracle分析函式Rank, Dense_rank, row_numberOracle函式
- SQL Server中row_number函式的常見用法SQLServer函式
- 分析函式——排序排列(rank、dense_rank、row_number)函式排序
- oracle 分析函式之(rank()/dense_rank()/row_number())Oracle函式
- SQL SERVER 排序函式ROW_NUMBER、RANK、DENSE_RANK、NTILESQLServer排序函式