hive函数,rank(),dense_rank(),row_rank区别
rank():没有相同数字时候,该函数排序时按1,2,3…排序,但是遇到相同数时候,下一个会跳1,如1,2,2,4…
dense_rank():没有相同数字时候,该函数排序时按1,2,3…排序,但是遇到相同数时候,下一个不会跳1,如1,2,2,3…
row_rank():不管有没有相同数字,该函数只会按照1,2,3…排序
示例:如下为一张成绩表
输入
SELECT score,
rank() over (ORDER BY score DESC) rank,
row_rank() over(ORDER BY score DESC) row_rank,
dense_rank() over(ORDER BY score DESC) dense_rank,
FROM result
ORDER BY score
**
**