一、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
這種排序 總個數是不變的,適合求某些值的前幾名。函數