我想按设备分辨率计算我的应用每周活跃用户数。
我的dailyData表看起来像这样:
它在 raw_advertiser_id 和 day_id
上是唯一的以下是使用PostgresSQL在2017年4月25日安装我的应用的用户的每周活跃用户数的结果
None
结果:
分辨率,totalUsers,weeklyActiveUsers,weeklyActiveUsersPercent
WITH users AS (
SELECT raw_advertiser_id
FROM beep.dailydata
WHERE day_id < 25 + 7
GROUP BY 1
HAVING min(day_id) = 25
)
SELECT
screen_dimensions,
count(DISTINCT raw_advertiser_id) totalUsers,
count(DISTINCT CASE WHEN day_id > 25
THEN raw_advertiser_id END) weeklyActiveUsersCount,
round(count(DISTINCT CASE WHEN day_id > 25
THEN raw_advertiser_id END) :: NUMERIC / count(DISTINCT raw_advertiser_id) * 100,2) weeklyActiveUsersPercent
FROM beep.dailydata
JOIN users USING (raw_advertiser_id)
WHERE day_id < 25 + 7
GROUP BY 1
ORDER BY totalUsers DESC
我不仅要在4月25日执行此查询,还要在接下来的所有日子执行此查询并合并结果。在上面的查询中获取4月26日的结果,您只需要将数字25替换为26.问题是如何在查询中执行此操作?