hive 实现分组取每组的前三条记录

在面对业务需求,需要显示每个部门薪水前三高的记录时,可以通过Hive的Windows函数来实现。文章通过实例展示了如何利用DENSE_RANK()函数,对部门进行分组,并按薪水降序排列,从而获取每个部门前三名的员工记录。如果存在薪水相同的并列第一,调整为DENSE_RANK()可以避免排名跳跃,确保正确显示第三名。
摘要由CSDN通过智能技术生成

业务需求

有以下两张表

--雇员表
create table emp(
empno INT,COMMENT '雇员编号'
ename STRING,COMMENT '雇员名字'
job STRING,COMMENT '雇员职位'
mgr INT,COMMENT '雇员领导编号'
hiredate STRING,COMMENT '雇员入职时间'
sal DOUBLE,COMMENT '雇员薪水'
comm DOUBLE,COMMENT '雇员奖金'
deptno INT COMMENT '雇员部门编号'
)ROW FO
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值