rank() 與dense_rank()分析
1.rank()分析函式
語法:
RANK() OVER([PARTITION BY expr1[,expr2,..,exprn]] ORDER BY expr1[,expr2,..,exprn])
功能: 先將記錄按PARTITION分組,組內再以ORDER BY排序,算出當前記錄在組內所處的級別(名次). PRATITION條件省略時,表明不分組,或將全錄記錄作為一組
例子: 有表如下:
SQL> select * from test; NAME SUBJECT SCORE 已選擇9行。 |
執行語句如下:
SQL> break on name skip 1; NAME SUBJECT SCORE SCORE_RANK bb english 96 1 cc art 78 1 已選擇9行。 |
SQL> select * from (select name ,subject,score ,rank() over ( partition by subject order by score desc) score_rank from test) where score_rank<=3; NAME SUBJECT SCORE SCORE_RANK aa chinese 90 1 bb english 96 1 已選擇9行。 |
2.dense_rank函式
DENSE_RANK分析函式
語法:DENSE_RANK() OVER([PARTITION BY expr1[,expr2,..,exprn]] ORDER BY expr1[,expr2,..,exprn])
已建立 1 行。 SQL> insert into test values('dd','art',78); 已建立 1 行。 SQL> insert into test values('dd','english',96); 已建立 1 行。 SQL> select * from (select name ,subject,score,dense_rank() over ( partition by subject order by score desc) score_rank from test) where score_rank<=3;
已選擇9行。 |
SQL> select * from (select name ,subject,score ,dense_rank() over ( partition by name order by score desc) score_rank from test) where score_rank<=3; NAME SUBJECT SCORE SCORE_RANK 已選擇12行。 |
SQL> select * from (select name ,subject,score,rank() over ( partition by name order by score desc) NAME SUBJECT SCORE SCORE_RANK 已選擇12行。 SQL> select * from (select name ,subject,score,rank() over ( partition by subject order by score desc) score_rank from test) where score_rank<=3; NAME SUBJECT SCORE SCORE_RANK 已選擇9行。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21340813/viewspace-615427/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 7.78 DENSE_RANK
- Hive ROW_NUMBER,RANK(),DENSE_RANK()Hive
- Oracle vs PostgreSQL Develop(14) - 分析函式KEEP DENSE_RANKOracleSQLdev函式
- Hive中row_number()、dense_rank()、rank()的區別Hive
- mysql自動排序函式dense_rank() over()、rank() over()、row_num() over()用法和區別MySql排序函式
- rank
- PaddleSeg2.8訓練驗證時報錯[Hint: Expected axis >= -rank && axis < rank == true, but received axis >= -rank && axis < rank:0 != true:1.]
- 【SQL】Lag/Rank/Over視窗函式揭秘,資料分析之旅SQL函式
- 7.21 APPROX_RANKAPP
- 1366. Rank Teams by Votes
- Leetcode 1366. Rank Teams by Votes (python+cpp)LeetCodePython
- Fast Bokeh Effects Using Low-Rank Linear FiltersASTFilter
- LeetCode 第 42 場雙週賽 ( rank 514 / 1578 )LeetCode
- 並查集系列之「基於rank的優化」並查集優化
- excel利用rank排名次公式 excel利用公式計算排名Excel公式
- 並查集系列之「基於rank的最佳化」並查集
- 主節點,節點編號node_rank,全域性程序編號rank,區域性程序編號,全域性總程序數world_size
- [LeetCode] 1366. Rank Teams by Votes 透過投票對團隊排名LeetCode
- JavaScript ==原理與分析JavaScript
- 軟體需求與分析 業務建模分析
- 程式分析與優化 - 11 多分支分析優化
- 程式分析與優化 - 5 指標分析優化指標
- AccessibilityService分析與防禦
- EventBus的使用與分析
- ONNX模型分析與使用模型
- 程式分析與優化 - 3 資料流分析優化
- Tensor與tensor深入分析與異同
- 為什麼並查集路徑壓縮時不需要維護rank?並查集路徑壓縮
- Rank & Sort Loss for Object Detection and Instance Segmentation 論文解讀(含核心原始碼詳解)ObjectSegmentation原始碼
- Python與C++引用分析PythonC++
- Redux流程分析與實現Redux
- offsetof與container_of巨集分析AI
- DevOps與NoOps現狀分析devOOP
- ThreadLocal與ThreadLocalMap原始碼分析thread原始碼
- Java註解與原理分析Java
- 面試題解與分析面試題
- Golang效能分析與優化Golang優化
- 資料探勘與分析 概念與演算法演算法
- Android入門教程 | Handler,Looper與MessageQueue使用與分析AndroidOOP