hive查詢dense_rank(),rank(),row_number()的區別


1、hive中查詢一組中的前幾名,就用到dense_rank(),rank(),row_number()這幾個函數,他們的區別在於
rank()就是排序 相同的排序是一樣的,但是下一個小的會跳着排序,比如
等級 排序
23 1
23 1
22 3
dense_rank()相同的排序相同,下一個小的會緊挨着排序,比如
等級 排序
23 1
23 1
22 2
這樣總個數是相對減少的,適合求某些指標前幾個等級的個數。
row_number()就很簡單,順序排序。比如
等級 排序
23 1
23 2
22 3
這種排序 總個數是不變的,適合求某些值的前幾名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM