Hive _偏门常用查询函数(三)附带实例(Rank)

 

接上两篇博客

Hive _偏门常用查询函数(一)附带实例

https://blog.csdn.net/qq_41946557/article/details/102904642

Hive _偏门常用查询函数(二)附带实例(列转行、窗口函数)

https://blog.csdn.net/qq_41946557/article/details/102905208




Rank

1.函数说明

RANK() 排序相同时会重复,总数不会变

DENSE_RANK() 排序相同时会重复,总数会减少

ROW_NUMBER() 会根据顺序计算

2.数据准备

vi rank
孙悟空  语文    87
孙悟空  数学    95
孙悟空  英语    68
大海    语文    94
大海    数学    56
大海    英语    84
宋宋    语文    64
宋宋    数学    86
宋宋    英语    84
婷婷    语文    65
婷婷    数学    85
婷婷    英语    78

创建表:

create table score(
name string,
subject string, 
score int) 
row format delimited fields terminated by "\t";
0: jdbc:hive2://henu2:10000> load data local inpath "/root/rank" into table score;

需求:

计算每门学科成绩排名。

select name,
subject,
score,
rank() over(partition by subject order by score desc) rp,
dense_rank() over(partition by subject order by score desc) drp,
row_number() over(partition by subject order by score desc) rmp
from score;

结果展示:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值