??QK 2022-05-06 11:16 采纳率: 0%
浏览 67

Hive 统计会员的剩余权益时间

业务背景:
1)在视频、内容、游戏行业均有月卡会员/季度会员等商业模式,现在有一张业务表记录每个用户每次开通的会员信息,字段如下:

| 用户id | 事件时间 | 事件类型 | 会员类型 |
| 111 | 20210901 | 开通会员 | 月卡30天 |
| 111 | 20210905 | 开通会员 | 月卡30天 |
| 111 | 20211226 | 开通会员 | 月卡30天 |
| 222 | 20211107 | 开通会员 | 季卡90天 |
| 222 | 20211123 | 开通会员 | 季卡90天 |
| 333 | 20211004 | 开通会员 | 月卡30天 |

2)每张月卡的权益有效期30天,季卡的权益有效期90天,在权益有效期内可以重复开通任意月卡季卡,权益有效期会累加。如,权益有效期还剩3天时又开通了1张月卡,则权益有效期变为33天。

3)权益有效期归0后,即常恒为0,不会进一步变为负数,直到下一次用户又开通了月卡季卡则重新开始计算有效期。

求问:
在这种,用户可以重复开通、且可能存在很长一段有效期为0的时间的情况下,如何通过hive的sql语句统计用户累计的剩余权益有效期?即,假设统计日是 20220110,则用户111的有效期为15天,222的有效期为116天,333的有效期为0天。

  • 写回答

1条回答 默认 最新

  • 数仓白菜白 2022-05-06 15:50
    关注

    img

    img

    img


    最后的结果已经出来了,但是我没有过滤。你需要过滤一下。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月6日

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?