You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条SQL统计各版本发布周内的活跃用户数

解决方案:统计版本发布后一周内的活跃用户数

嘿,这是能直接满足你需求的单条SQL查询,我会一步步给你拆解逻辑:

SELECT
    rd.version,
    rd.release_date,
    rd.post_release_week_date,
    COUNT(DISTINCT au.user_id) AS active_user_count
FROM
    release_dates rd
LEFT JOIN
    active_users au 
        ON au.version = rd.version
        AND au.active_date BETWEEN rd.release_date AND rd.post_release_week_date
GROUP BY
    rd.version, rd.release_date, rd.post_release_week_date;

关键逻辑说明:

  • LEFT JOIN 确保完整性:用LEFT JOIN关联两张表,这样release_dates里的每一行都会保留在结果中——哪怕某个版本在发布后一周内没有任何活跃用户,对应的active_user_count会显示0,不会漏掉任何版本记录。
  • 精准匹配版本与时间区间:JOIN条件里同时指定了版本匹配,以及活跃日期落在发布日期到发布后一周的区间内,这样只会关联到对应版本、对应时间段的活跃用户数据。
  • 去重统计唯一用户:用COUNT(DISTINCT au.user_id)而不是简单的COUNT(au.user_id),是为了避免同一个用户在这段时间内多次活跃被重复统计,确保统计的是唯一活跃用户的数量。

如果你的post_release_week_date字段是发布日期加7天的日期值(比如release_date是2024-01-01,post_release_week_date是2024-01-08),那BETWEEN会包含这两个端点的日期,完全符合“发布日期至发布后一周内”的统计需求。

内容的提问来源于stack exchange,提问作者joeschmidt45

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:04:05