栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive中使用sum over()实现累积求和和滑动求和

Hive中使用sum over()实现累积求和和滑动求和

1、数据介绍

咱们有三列数据,分别是员工的姓名、月份和销售额:

2、累积求和
select
 *,
 sum(cnt) over(partition by name order by month) as total_cnt
from
 default.salerinfo

 结果:

3、滑动求和

我们想要求每个月对应的最近三个月的业绩之和(包含本月在内),代码如下:

sum(cnt) over(partition by name order by month range between 2 preceding and 0 following) 

结果如下: 

可以看到,在前面的数据不足两行时,有几行就对几行求和。如1月份的滑动求和即本身,2月份的求和结果时1月份和2月份的累积。 

然后我们想实现不包含本月在内的前三个月的求和,该怎么实现呢?

select
 *,
 sum(cnt) over(partition by name order by month range between 3 preceding and 1 preceding) as total_cnt
from
 default.salerinfo

结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/604914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号