【大数据Hive3.x数仓开发】Hive SQL窗口函数详解(rank(),dese_rank(), row_number(),LAG(),LEAD(),FIRST VALUE...))

文章介绍了Hive中的窗口函数概念和用法,包括常规聚合操作、窗口函数的四种用法,如SUM()、ROW_NUMBER()、RANK()、DENSE_RANK()以及NTILE()等,还详细阐述了窗口排序和分析函数的应用,如LAG()和LEAD(),用于分析数据的前后行值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


进一步理解窗口函数可以看相关案例:【大数据Hive3.x数仓开发】窗口函数案例

概念、语法规则

窗口函数( Window functions)也叫做开窗函数、0LAP函数,其最大特点是:输入值是从SELECT语句的结果集中的行或多行的“窗口”中获取的
如果函数具有OVER子句,则它是窗口函数。
窗口函数可以简单地解释为类似于聚合函数的计算函数,但是通过GROUP BY子句组合的常规聚合会隐藏正在聚合的各个行,最终输出一行,窗口函数聚合后还可以访问当中的各个行,并且可以将这些行中的某些属性添加到结果集中.
语法规则:在这里插入图片描述

在这里插入图片描述

普通常规聚合操作 求出每个用户总pv数 sum+group by

select cookieid,sum(pv) as total_pv from website_pv_infogroup by cookieid;

窗口函数聚合函数

总共有四种用法 注意是整体聚合 还是累积聚合

  • sum(…) over( )对表所有行求和
    –需求:求出网站总的pv数 所有用户所有访问加起来
    –输出:每行都保留,最后一列是总和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值