Hive 常用的开窗函数
(10条消息) hive的开窗函数_Climber_XL的博客-CSDN博客_hive 开窗
Function (arg1,..., argn) OVER ([PARTITION BY <...>] [ORDER BY <....>] [<window_expression>])
-- 聚合开窗函数 count(); -- 窗口内总条数 sum(); -- 窗口内数据的和 min(); -- 窗口内最小值 max(); -- 窗口内最大值 avg(); -- 窗口内的平均值 -- 排序开窗函数 row_number(); -- 从1开始,按照顺序,生成分组内记录的序列 rank(); -- 生成数据项在分组中的排名,排名相等会在名次中留下空位 dense_rank(); -- 生成数据项在分组中的排名,排名相等会在名次中不会留下空位 ntile(n); -- 将分区中已排序的行划分为大小尽可能相等的指定数量的排名的组, -- 并返回给定行所在的组的排名。 percent_rank(); -- 计算给定行的百分比排名。可以用来计算超过了百分之多少的人。(当前行的rank值-1)/(分组内的总行数-1) -- 如360小助手开机速度超过了百分之多少的人。 cume_dist(); -- 计算某个窗口或分区中某个值的累积分布。假定升序排序,则使用以下公式确定累积分布: -- 小于等于当前值x的行数 / 窗口或partition分区内的总行数。其中,x 等于 order by 子句中指定的列的当前行中的值。 -- 其他窗口函数 FIRST_VALUE(); -- 返回分区中的第一个值。 LAST_VALUE(); -- 返回分区中的最后一个值。 LAG(col,n,default); -- 用于统计窗口内往上第n个值。 LEAD(col,n,default);-- 用于统计窗口内往下第n个值。