SQL SERVER 排序函式ROW_NUMBER、RANK、DENSE_RANK、NTILE
1、ROW_NUMBER()函式:根據f_id升序排序(ASC)後的記錄,為每條記錄增添遞增的順序數值序號(1、2、3……),即使f_id的值相同也遞增;
SELECT ROW_NUMBER() OVER (ORDER BY f_name ASC) AS ROWID,f_name,f_id FROM fruits;
SELECT ROW_NUMBER() OVER (ORDER BY CASE WHEN f_name IS NULL THEN 2 ELSE 1 END ASC) AS ROWID,f_name,f_id FROM fruits;--f_name為NULL值時排到後面;
2、RANK()函式:與ROW_NUMBER()不同的是,f_id值相同,對應的順序數值也相同(比如,如果三人的分數相同,則他們三並列第一,而第四位的排名則是第四);
SELECT RANK() OVER (ORDER BY f_name ASC) AS ROWID,f_name,f_id FROM fruits;
3、DENSE_RANK()函式:與ROW_NUMBER()不同的是,f_id值相同數值序號也相同,接下來繼續遞增;
SELECT DENSE_RANK() OVER (ORDER BY f_name ASC) AS DENSEID,f_name,f_id FROM fruits;
4、NTILE()函式:將記錄分成指定的組數;
SELECT NTILE(3) OVER (ORDER BY f_name ASC) AS DENSEID,f_name,f_id FROM fruits;
SELECT NTILE(4) OVER (ORDER BY f_name ASC) AS DENSEID,f_name,f_id FROM fruits;
SELECT NTILE(6) OVER (ORDER BY f_name ASC) AS DENSEID,f_name,f_id FROM fruits;
相關文章
- 分析函式——排序排列(rank、dense_rank、row_number)函式排序
- rank,dense_rank,row_number 分析函式函式
- oracle分析函式Rank, Dense_rank, row_numberOracle函式
- oracle 分析函式之(rank()/dense_rank()/row_number())Oracle函式
- 分析函式rank,dense_rank,row_number使用和區別 .函式
- 分析函式中rank(),row_number(),dense_rank()的區別函式
- Spark2 Dataset分析函式--排名函式row_number,rank,dense_rank,percent_rankSpark函式
- 【SQL 學習】分析函式之RANK() DENSE_RANK ()SQL函式
- 分析函式DENSE_RANK 和 RANK函式
- lead lag rank()over()dense_rank()row_number()over()rollupcube幾大分析函式函式
- Oracle:Rank,Dense_Rank,Row_Number比較Oracle
- Hive中row_number()、dense_rank()、rank()的區別Hive
- 分析函式rank() row_number函式
- row_number() over,rank() over,dense_rank() over的區別
- 【Analytic】分析函式之DENSE_RANK函式函式
- 分析函式——keep(dense_rank first/last)函式AST
- Oracle 中分析函式用法之--rank(),dense_rank(),partition,over()Oracle函式
- oracle中聚合函式RANK和dense_rank的使用(轉)Oracle函式
- [原創] 小議rank(),dense_rank(),row_number()使用與區別
- mysql自動排序函式dense_rank() over()、rank() over()、row_num() over()用法和區別MySql排序函式
- 有關oracle中聚合函式rank和dense_rank的使用Oracle函式
- Sql Server系列:排序函式SQLServer排序函式
- Oracle vs PostgreSQL Develop(14) - 分析函式KEEP DENSE_RANKOracleSQLdev函式
- NTILE()函式函式
- rank() 與dense_rank()分析
- SQL Server中row_number函式的常見用法SQLServer函式
- SQL語句中的rank () over , row_number() over ,rank_dense ()SQL
- 分析函式——NTILE(n)函式
- Oracle分析函式RANK(),ROW_NUMBER(),LAG()等的使用方法(轉)Oracle函式
- RANK函式小結函式
- Sql Server 日期函式SQLServer函式
- SQL SERVER 字串函式SQLServer字串函式
- 【Analytic】分析函式之RANK函式函式
- WIDTH_BUCKET和NTILE函式.txt函式
- row_number() over函式函式
- SQL Server常用函式整理SQLServer函式
- Sql Server系列:字串函式SQLServer字串函式
- Sql Server系列:聚合函式SQLServer函式