简单粗暴理解hive开窗函数rank()、dense_rank()及row_number()的区别
2018-12-22 18:14
330 查看
看下这个例子,秒懂排序函数之间的区别
例子为五个同学的成绩,按从小到大排序,三个函数的结果如下:
简单来说:
rank() over () 并列有间隔,rank值为:1 2 2 4 5
dense_rank() over() 并列不间断,rank值为:1 2 2 3 4
row_number() over() 相同连续排名,rank值为:1 2 3 4 5
代码如下:
select name,score, rank() over( order by score) rn1, dense_rank() over( order by score) rn2, row_number() over( order by score) rn3 from test; name score rn1 rn2 rn3 A同学 60 1 1 1 B同学 70 2 2 2 C同学 70 2 2 3 D同学 80 4 3 4 E同学 90 5 4 5
相关文章推荐
- Hive分析窗体函数之NTILE,ROW_NUMBER,RANK和DENSE_RANK
- rank(),dense_rank(),row_number()分析函数用法和区别
- row_number()、rank()、dense_rank()这三个分析函数的区别实例
- SQL SERVER OVER开窗函数,Partition By,ROW_NUMBER(),DENSE_RANK(),RANK()排名函数
- hive的row_number()、rank()和dense_rank()的区别以及具体使用
- hive的row_number()、rank()和dense_rank()的区别以及具体使用
- rank() over,dense_rank() over,row_number() over函数的区别
- Hive窗口和分析函数[RANK()、DENSE_RANK()、ROW_NUMBER()]
- hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
- 数据库SQL中对查询结果排序排列序号编号,Oracle分析函数 rank,dense_rank,row_number使用和区别
- hive的row_number()、rank()和dense_rank()的区别以及具体使用
- oracle分析函数row_number、dense_rank、rank的区别
- hive查询dense_rank(),rank(),row_number()的区别
- hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
- sqlserver 开窗函数over RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
- 开窗函数详解(rank()、dense_rank()、row_number())
- Rank,Dense_rank,Row_number函数区别用法
- oracle分析函数Rank, Dense_rank, row_number
- Oracle分析函数 — rank, dense_rank, row_number用法
- SQL Server 2005四个新的排序函数: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE