大家好,我是勾叔。之前给大家介绍了一波Hive内置函数,最近有老铁私信勾叔,希望勾叔给介绍一下Hive窗口函数,因此勾叔整理出这篇文章,清晰明了、简单易懂!!!
窗口函数又名开窗函数,属于分析函数的一种,主要用于解决复杂报表的统计需求,其计算实现是基于组的某种聚合值。窗口函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化。
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()*