在SQL中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数。窗口函数又叫OLAP函数/分析函数,窗口函数兼具分组和排序功能
Hive 窗口函数
窗口函数最重要的关键字是 partition by 和 order by
具体语法如下:XXX over (partition by xxx order by xxx)
特别注意:over()里面的 partition by 和 order by 都不是必选的,over()里面可以只有partition by,也可以只有order by,也可以两个都没有,大家需根据需求灵活运用
窗口函数我划分了几个大类,我们一类一类的讲解
1. SUM、AVG、MIN、MAX
讲解这几个窗口函数前,先创建一个表,以实际例子讲解大家更容易理解。
首先创建用户访问页面表:user_pv

给上面这个表加上如下数据

本文详细介绍了Hive窗口函数的使用,包括SUM、AVG、MIN、MAX、ROW_NUMBER、RANK、DENSE_RANK、NTILE、LAG、LEAD、FIRST_VALUE和LAST_VALUE。通过实例展示了这些函数在数据处理中的应用,帮助理解它们在窗口中的不同行为和作用。
最低0.47元/天 解锁文章
5957

被折叠的 条评论
为什么被折叠?



