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

按销售部门聚合销售数据的SQL嵌套查询实现方法

基于第一层分组结果实现最终聚合的SQL方案

完全可以基于已有的第一层分组SELECT语句,通过嵌套查询(子查询/CTE)实现最终聚合效果,无需额外创建临时表。

核心实现思路

  • 第一层逻辑:先完成REGION字段派生,按SALES_DIVISION、REGION、STATE三个维度分组,生成对应0/1状态的EAST、CENTRAL、PAC列,以及已定义好计算规则的EAST_CENTRAL、CENTRAL_PACIFIC字段
  • 第二层聚合:以第一层查询结果为输入,按SALES_DIVISION维度做聚合:
    • REGION、STATE字段固定返回NULL实现留空
    • EAST、CENTRAL、PAC三列取分组内最大值:同部门下只要对应区域有1条正销售额记录,最大值即为1,不会出现多州累加的情况,完全符合0/1取值要求
    • EAST_CENTRAL、CENTRAL_PACIFIC两列直接对分组内的值求和,实现符合条件的州数量累加

完整可运行SQL示例

如果你已经有写好的第一层分组语句,直接替换下方代码中对应注释位置的内容即可:

SELECT
  SALES_DIVISION,
  NULL AS REGION,
  NULL AS STATE,
  MAX(EAST) AS EAST,
  MAX(CENTRAL) AS CENTRAL,
  MAX(PAC) AS PAC,
  SUM(EAST_CENTRAL) AS EAST_CENTRAL,
  SUM(CENTRAL_PACIFIC) AS CENTRAL_PACIFIC
FROM (
  /* 下方是第一层分组的参考实现,可直接替换为你已写好的第一层SELECT语句 */
  SELECT
    SALES_DIVISION,
    REGION,
    STATE,
    CASE WHEN REGION = 'EASTERN' AND SUM(SALES_AMT) > 0 THEN 1 ELSE 0 END AS EAST,
    CASE WHEN REGION = 'CENTRAL' AND SUM(SALES_AMT) > 0 THEN 1 ELSE 0 END AS CENTRAL,
    CASE WHEN REGION = 'PACIFIC' AND SUM(SALES_AMT) > 0 THEN 1 ELSE 0 END AS PAC,
    -- 此处替换为你实际业务中EAST_CENTRAL的计算逻辑
    CASE WHEN REGION IN ('EASTERN','CENTRAL') AND SUM(SALES_AMT) > 0 THEN 1 ELSE 0 END AS EAST_CENTRAL,
    -- 此处替换为你实际业务中CENTRAL_PACIFIC的计算逻辑
    CASE WHEN REGION IN ('CENTRAL','PACIFIC') AND SUM(SALES_AMT) > 0 THEN 1 ELSE 0 END AS CENTRAL_PACIFIC
  FROM (
    -- 基础层:派生REGION字段
    SELECT
      SALES_DIVISION,
      STATE,
      SALES_AMT,
      CASE
        WHEN STATE IN ('NY','MA') THEN 'EASTERN'
        WHEN STATE IN ('IL','TX') THEN 'CENTRAL'
        WHEN STATE IN ('CA','OR','WA') THEN 'PACIFIC'
        ELSE NULL
      END AS REGION
    FROM SALES_TABLE
  ) t_base
  GROUP BY SALES_DIVISION, REGION, STATE
  /* 第一层参考实现结束 */
) t_level1
GROUP BY SALES_DIVISION;

注意事项

  • 不要用SUM处理EAST、CENTRAL、PAC三列,否则会出现同区域多州符合条件时数值大于1的问题,MAX()是最简洁的实现方式
  • 如果你的第一层查询已经作为视图存在,只需要把FROM后面子查询的部分替换成视图名即可
  • 如果REGION为NULL的无匹配区域记录,不会对三个区域标识列和两个跨区统计字段产生影响,会自动按0处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:30:47