【发布时间】:2020-02-11 07:36:03
【问题描述】:
SQL 是否可以向后每 30 天或 MAU(每月活跃用户)计数?例如,如果我有这样的数据:
date user
1/1/2020 A
1/2/2020 B
1/2/2020 C
...
1/30/2020 Z
我使用 DISTINCT COUNT 将其转换为这样的
date distinct_user
1/1/2020 1
1/2/2020 2
...
1/30/2020 30
为了方便起见,假设不同用户是每天活跃的不同用户的数量,并且天之间没有重叠(实际上存在重叠)。所以MAU的结果会是这样的
date distinct_user MAU
1/1/2020 1 1
1/2/2020 2 3
...
1/30/2020 30 465
465 是计算 30 天内不同用户的结果(假设每天没有重叠用户)。所以如果在 2020 年 1 月 31 日有 5 个新用户活跃,结果将是这样的
date distinct_user MAU
1/1/2020 1 1
1/2/2020 2 3
...
1/30/2020 30 465
1/31/2020 5 469
469 来自 (Last MAU) + (new distinct user) - (distinct user from 1/1/2020, because the range is 30 days) 所以结果是 465 + 5 - 1 假设有 5 个活跃用户于 2020 年 1 月 31 日在 2020 年 1 月 2 日至 2020 年 1 月 30 日期间无效
【问题讨论】:
-
我看到的问题是您没有关于在特定日期访问该站点的用户的信息。您怎么知道 1 月 30 日访问您的用户与 31 日访问的用户不同?如果您有此信息,则查询只是一个微不足道的 SELECT COUNT (DISTINTICT user_id) FROM ....
-
糟糕,我会编辑我的帖子
标签: sql group-by amazon-athena amazon-quicksight