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

如何在单条SQL查询语句中使用3个GROUP BY?附需求示例

单表GROUP BY查询实现三列条件求和

问题背景

需要在单表的GROUP BY查询中,在SELECT语句里返回三个不同条件的求和列。

表结构(根据需求还原)

假设表包含核心字段:

  • 分组字段(如部门、类别等,用于GROUP BY分组)
  • 数值字段(需要求和的金额、数量等数值型字段)
  • 类型标识(用于区分不同求和条件的字段,如类型1、2、3)

期望结果

按分组字段聚合后,每行返回:

  • 分组字段的值
  • 类型1对应的数值总和
  • 类型2对应的数值总和
  • 类型3对应的数值总和

实现SQL语句

使用条件聚合(CASE WHEN搭配SUM函数)即可实现,示例代码如下:

SELECT
    分组字段,
    SUM(CASE WHEN 类型标识 = '类型1' THEN 数值字段 ELSE 0 END) AS 求和列1,
    SUM(CASE WHEN 类型标识 = '类型2' THEN 数值字段 ELSE 0 END) AS 求和列2,
    SUM(CASE WHEN 类型标识 = '类型3' THEN 数值字段 ELSE 0 END) AS 求和列3
FROM
    你的表名
GROUP BY
    分组字段;

关键说明

  • CASE WHEN会筛选出符合指定类型的记录,仅对满足条件的数值字段求和,不满足条件的返回0,避免影响总和计算
  • GROUP BY 分组字段确保数据按指定维度完成分组汇总
  • 请根据实际表结构,替换示例中的分组字段、类型标识、数值字段、你的表名以及具体类型值(如'类型1')

内容的提问来源于stack exchange,提问作者wai yan kyaw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:01:03