hive窗口函数分组排序并取第一个值_为什么Hive窗口函数重要?都有哪些?

本文介绍了Hive窗口函数的概念及其重要性,详细讲解了over关键字、partition by、order by子句,以及rank、dense_rank、row_number等排名函数和lag、lead、first_value、last_value、ntile等序列函数的应用,帮助理解如何在Hive中进行复杂报表统计。
摘要由CSDN通过智能技术生成

大家好,我是勾叔。之前给大家介绍了一波Hive内置函数,最近有老铁私信勾叔,希望勾叔给介绍一下Hive窗口函数,因此勾叔整理出这篇文章,清晰明了、简单易懂!!!

窗口函数又名开窗函数,属于分析函数的一种,主要用于解决复杂报表的统计需求,其计算实现是基于组的某种聚合值。窗口函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化。

4c8a1a29807f16cd0a94cd58be355d19.png

1. over 关键字

使用窗口函数之前一般要通过over()进行开窗,并且窗口函数是针对每一行数据的,如果over()中没有参数,则默认的是全部结果集。

-- 查询emp表工资总和select sum(sal) from emp;-- 不使用窗口函数,有语法错误select ename, sal, sum(sal) salsum from emp;-- 使用窗口函数,查询员工姓名、薪水、薪水总和select ename, sal, sum(sal) over() salsum,    concat(round(sal / sum(sal) over()*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值