hivesql如何累计每个日期到前6天的数据为周累计数据呢?

大佬好,请问在hive sql 里可以用什么语句实现这个功能?在每个日期后面有一个滚动近7天的周累计数据?烦请大佬指点!谢谢!!!

我网上查了下,用这个语句是否可以?是否大佬有其他思路和想法,谢谢!

,sum(x.today_users) over (partition by x.website, x.country_id, x.product_id

  order by x.date asc rows between 7 preceding and 1 preceding) as past_7d_users

image.png

FineReport 用户60421570 发布于 2023-6-15 11:35 (编辑于 2023-6-15 11:39)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-6-15 11:39(编辑于 2023-6-15 11:41)

不知道这个ai的水平如何了,反正没有环境,你自己试吧。。。

以上语句中,首先使用SET语句设置Hive的动态分区模式和非严格模式,然后使用INSERT INTO TABLE语句将结果插入到daily_sum表中。

在查询中,使用了窗口函数w来获取前7天的数据,然后使用DATE_SUB函数和i变量来计算日期,最后使用SUM函数对数值字段进行求和。

image.png

  • 2关注人数
  • 540浏览人数
  • 最后回答于:2023-6-15 11:41
    请选择关闭问题的原因
    确定 取消
    返回顶部