hive复习之窗口函数的整理

本文主要复习了Hive中的窗口函数,包括排名函数、SUM/MIN/MAX/AVG等聚合函数、ntile(n)的应用、lag()和lead()函数的使用,以及min/max与first_value/last_value结合over()的技巧。这些函数在处理大数据时能实现复杂的数据分析,例如求连续销售记录的店铺、获取数据的前n%部分等。
摘要由CSDN通过智能技术生成

hive复习篇:窗口函数(刷sql要一直使用!)


窗口函数功能

sum(col) over() : 分组对col累计求和
count(col) over() : 分组对col累计
min(col) over() : 分组对col求最小值
max(col) over() : 分组求col的最大值
avg(col) over() : 分组求col列的平均值
first_value(col) over() : 某分组排序后的第一个col值
last_value(col) over() : 某分组排序后的最后一个col值
lag(col,n,DEFAULT) : 统计往前n行的col值,n可选,默认为1,DEFAULT当往上第n行为NULL时候,取默认值,如不指定,则为NULL
lead(col,n,DEFAULT) : 统计往后n行的col值,n可选,默认为1,DEFAULT当往下第n行为NULL时候,取默认值,如不指定,则为NULL
ntile(n) : 用于将分组数据按照顺序切分成n片,返回当前切片值。注意:n必须为int类型
row_number() over() : 排名函数,不会重复,适合于生成主键或者不并列排名
rank() over() : 排名函数,有并列名次,名次不连续。如:1,1,3
dense_rank() over() : 排名函数,有并列名次,名次连续。如:1,1,2

1、排名函数

使用方法

排名函数+over(partition by name order by ctime )

总结:
1.row_number
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值