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

如何获取45天滚动报告周期内玩家数据?SQL查询需求

SQL周期分组查询实现

现有表结构与数据

表名:cool_off

AccountIDCoolOff_Created_DTCoolOff_End_DTEndcycle45days
1234510-01-2022 00:4813-01-2022 05:0027-02-2022 05:00
1234513-01-2022 11:4317-01-2022 05:0003-03-2022 05:00
1234520-01-2022 03:4223-01-2022 05:0009-03-2022 05:00
1234523-01-2022 15:3229-01-2022 05:0015-03-2022 05:00

查询需求

按AccountID分组,实现以下周期划分规则:

  • 以每个账户的**首个CoolOff_End_DT**为起始点,加45天得到首个周期的结束时间,该周期内所有记录的Endcycle45days统一设为这个结束时间
  • 后续周期以上一周期的结束时间为起点,每45天划分为一个新周期,对应周期内的记录Endcycle45days统一为当前周期的结束时间

SQL实现(MySQL版本)

WITH account_first_end AS (
    -- 获取每个账户的首个CoolOff_End_DT
    SELECT 
        AccountID,
        MIN(CoolOff_End_DT) AS first_end_dt
    FROM cool_off
    GROUP BY AccountID
),
cycle_calculation AS (
    -- 计算每条记录所属周期的结束时间
    SELECT 
        c.AccountID,
        c.CoolOff_Created_DT,
        c.CoolOff_End_DT,
        DATE_ADD(
            af.first_end_dt,
            INTERVAL (FLOOR(DATEDIFF(c.CoolOff_End_DT, af.first_end_dt) / 45) + 1) * 45 DAY
        ) AS Endcycle45days
    FROM cool_off c
    JOIN account_first_end af ON c.AccountID = af.AccountID
)
-- 输出最终结果
SELECT * FROM cycle_calculation ORDER BY AccountID, CoolOff_End_DT;

其他数据库适配说明

  • PostgreSQL:替换日期运算语法:
    af.first_end_dt + INTERVAL '45 days' * (FLOOR((c.CoolOff_End_DT - af.first_end_dt) / INTERVAL '45 days') + 1) AS Endcycle45days
    
  • SQL Server:使用DATEADD调整计算逻辑:
    DATEADD(DAY, (FLOOR(DATEDIFF(DAY, af.first_end_dt, c.CoolOff_End_DT) / 45) + 1) * 45, af.first_end_dt) AS Endcycle45days
    

预期输出

首个周期输出

AccountIDCoolOff_Created_DTCoolOff_End_DTEndcycle45days
1234510-01-2022 00:4813-01-2022 05:0027-02-2022 05:00
1234513-01-2022 11:4317-01-2022 05:0027-02-2022 05:00
1234520-01-2022 03:4223-01-2022 05:0027-02-2022 05:00
1234523-01-2022 15:3229-01-2022 05:0027-02-2022 05:00

下一周期输出(假设存在对应记录)

AccountIDCoolOff_Created_DTCoolOff_End_DTEndcycle45days
1234507-03-2022 00:4412-03-2022 05:0026-04-2022 05:00
1234515-04-2022 04:0021-04-2022 18:0026-04-2022 05:00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:45:34