hive开窗函数大全

本文详细介绍了Hive中的窗口函数,包括sum、max、min、avg等聚合函数,以及row_number、ntile、rank、dense_rank等排名函数。还讲解了LAG、LEAD、FIRST_VALUE、LAST_VALUE等函数的使用,以及CUME_DIST和PERCENT_RANK在统计中的作用。此外,还探讨了GROUPING SETS、GROUPING__ID、CUBE和ROLLUP在分组聚合中的功能和差异。
摘要由CSDN通过智能技术生成

-- 窗口函数sum,max,min,avg

SELECT 
cookieid,
createtime,
pv,
SUM(pv) OVER(PARTITION BY cookieid ORDER BY createtime) AS pv1,
SUM(pv) OVER(PARTITION BY cookieid ORDER BY createtime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS pv2,
SUM(pv) OVER(PARTITION BY cookieid ORDER BY createtime ROWS BETWEEN 1 PRECEDING AND 3 FOLLOWING) AS pv3,
SUM(pv) OVER(PARTITION BY cookieid ORDER BY createtime ROWS BETWEEN CURRENT ROW AND 4 FOLLOWING) AS pv4
FROM lxw1234;

-- 窗口函数row_number,ntile,rank,dense_rank(不支持rows between)
-- row_number分组排名,ntile切片,rank分组排名留空,dense_rank分组排名不留空

SELECT
cookieid,
createtime,
pv,
ROW_NUMBER() OVER(PARTITION BY cookieid ORDER BY createtime) AS rn,--排名,分组内每条记录一个行号,无关心createtime是否相同
NTILE(3) OVER(PARTITION BY cookieid ORDER BY createtime) AS rn1,--表示对分组内的数据排序后切3片,多余的会加到第一片中
RANK() OVER(PARTI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值