SQL高级技巧:如何准确求近30天指标?

这篇博客介绍了如何在HiveSQL中准确计算用户近30天累计消费达到特定金额的日期。文章通过对比rows和range函数的应用,解释了在存在时间断层的数据中,range函数能更好地反映近30天的逻辑计算值。此外,还提供了一种在不支持range函数的数据库中,借助时间维度表补全数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 需求

2 分析

方法1:窗口函数 Range 实现

方法2:补齐维度法 实现

方法3:自关联实现方法

3 小结


1 需求

现在test表有三个字段 用户: user_id 日期:dt 订单金额 price,

计算出一个消费者历史上“首次”在近30天周期内累计消费金额达到1W的日期

2 分析

  

(1)数据准备

 create table test as 
 select 'a' as user_id,7000 as price,'2022-07-01' as dt
    union all 
   select 'a' as user_id,4000 as price,'2022-08-22' as dt
   union all 
   select 'a' as user_id,8000 as price,'2022-08-23' as dt

(2) 分析

目标字段:消费者,日期

条件:首次”

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值