我试着在约会前拉出唯一的活跃用户。
所以具体地说,我有一个日期范围(比如说8月到11月),我想知道一个月内某一天或之前的累积唯一活跃用户数量。
因此,伪代码如下所示:
从USER_DB中选择计数(非重复用户)
其中Month =循环8-11个月,循环1:31中的DAY <= day
我想要的输出如下所示
发布于 2020-11-14 07:22:43
SELECT
mydate,
SUM( -- 3
COUNT(DISTINCT username) -- 1, 2
) OVER (ORDER BY mydate) -- 3
FROM t
GROUP BY mydate -- 2
GROUP BY
您的日期和计数用户DISTINCT
a
操作的所有计数
如果您希望获得全天的唯一用户(仅计算首次访问的用户),您可以首先使用DISTINCT ON
子句过滤用户:
SELECT DISTINCT ON (username)
*
FROM t
ORDER BY username, mydate
这会产生以下结果:
SELECT
mydate,
SUM(
COUNT(*)
) OVER (ORDER BY mydate)
FROM (
SELECT DISTINCT ON (username)
*
FROM t
ORDER BY username, mydate
) s
GROUP BY mydate
https://stackoverflow.com/questions/64826392
复制相似问题