Postgresql sql中计数不同的循环
我试图在约会前吸引唯一的活跃用户 具体来说,我有一个日期范围(比如8月到11月),我想知道一个月内某一天或之前的累计唯一活跃用户数 因此,伪代码看起来像这样: 从用户数据库中选择计数(不同的用户) 在哪里 月份=[循环至第8-11个月] 及 天Postgresql sql中计数不同的循环,postgresql,Postgresql,我试图在约会前吸引唯一的活跃用户 具体来说,我有一个日期范围(比如8月到11月),我想知道一个月内某一天或之前的累计唯一活跃用户数 因此,伪代码看起来像这样: 从用户数据库中选择计数(不同的用户) 在哪里 月份=[循环至第8-11个月] 及 天 按您的日期分组并统计用户 因为您不想计算所有用户访问,而只想计算每个用户和每天的一次访问,所以需要添加DISTINCT 这是一个很好的例子。这一项将以前累计完成的所有计数进行汇总 如果您希望在所有日期内获得唯一用户(仅在首次访问时计算用户),您可以首先
按您的日期分组并统计用户
DISTINCT
如果您希望在所有日期内获得唯一用户(仅在首次访问时计算用户),您可以首先使用
DISTINCT on
子句筛选用户:
这将产生:
SELECT
mydate,
SUM(
COUNT(*)
) OVER (ORDER BY mydate)
FROM (
SELECT DISTINCT ON (username)
*
FROM t
ORDER BY username, mydate
) s
GROUP BY mydate
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