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

如何在单个SQL查询中添加多组IN条件并汇总年初至今时间区间数据

SQL查询修改实现方案

核心实现逻辑

  • 产品分组统计:使用CASE WHEN自定义产品分组规则,你可以根据实际业务需求调整每组匹配的product_long_desc取值
  • 多时间维度统计:通过条件聚合在同一句查询中同时返回单周(原需求2021-07-25)、年初至今(YTD,2021-01-01至2021-07-25)两个维度的销售额

修改后完整SQL

SELECT  
    -- 自定义产品分组,可根据实际业务调整分组规则
    CASE 
        WHEN A.product_long_desc IN ('GENERAL MILLS CHEERIOS 260GM') THEN '分组1:原味系列'
        WHEN A.product_long_desc IN ('GENERAL MILLS CHEERIOS HONEY NUT 330 GM', 'GENERAL MILLS CHEERIOS HONEY NUT BOX 292GM') THEN '分组2:蜂蜜坚果系列'
        WHEN A.product_long_desc IN ('GENERAL MILLS CHEERIOS MULTIGRAIN 265GM') THEN '分组3:多谷物系列'
        -- 剩下2组可按业务需求补充匹配规则,示例如下
        WHEN A.product_long_desc IN ('补充产品名称1') THEN '分组4:自定义系列1'
        WHEN A.product_long_desc IN ('补充产品名称2') THEN '分组5:自定义系列2'
        ELSE '其他'
    END AS product_group,
    -- 原需求单周销售额统计
    SUM(CASE WHEN fiscal_week_end_dt = '2021-07-25 00:00:00' THEN Sales_dollar_amt ELSE 0 END) AS week_20210725_sales,
    -- 新增YTD销售额统计,时间范围2021-01-01至2021-07-25
    SUM(CASE WHEN fiscal_week_end_dt BETWEEN '2021-01-01 00:00:00' AND '2021-07-25 00:00:00' THEN Sales_dollar_amt ELSE 0 END) AS ytd_2021_sales
FROM  srm.nielsen_pos_volumetric_causal_distribution_ca_weekly_combined AS A
WHERE  
    -- 所有需要统计的产品都放在此处IN列表中
    A.product_long_desc IN ( 
        'GENERAL MILLS CHEERIOS 260GM', 
        'GENERAL MILLS CHEERIOS HONEY NUT 330 GM', 
        'GENERAL MILLS CHEERIOS HONEY NUT BOX 292GM',
        'GENERAL MILLS CHEERIOS MULTIGRAIN 265GM'
        -- 补充其他分组需要统计的产品名称
    ) 
    AND market_long_desc = 'LCL NATIONAL'
    -- 时间范围放宽到YTD最大区间,减少数据扫描范围
    AND fiscal_week_end_dt BETWEEN '2021-01-01 00:00:00' AND '2021-07-25 00:00:00'
-- 按自定义产品分组聚合
GROUP BY product_group;

补充说明

如果不需要按分组拆分、只需要所有产品的整体统计,去掉CASE WHEN的分组逻辑和GROUP BY语句即可,两个求和字段会直接返回全量产品的单周和YTD总销售额。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:39:05