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

SQL分组求和需求:按Col3分组并每行显示组内Col1总和

按分组列显示组内总和并保留所有行的SQL实现方法

原表数据

Col1  Col2 Col3
2     A    A
3     B    A
4     C    A
4     D    B
5     E    B
6     F    B

期望输出

Col1 Col2 Col3
9    A    A
9    B    A
9    C    A
15   D    B
15   E    B
15   F    B

实现SQL语句

SELECT
  SUM(Col1) OVER(PARTITION BY Col3) AS Col1,
  Col2,
  Col3
FROM 你的表名;

说明

  • 用SUM() OVER(PARTITION BY Col3)窗口函数,会按Col3分组计算每组Col1的总和,同时保留原表所有行,完全匹配需求。
  • 之前用GROUP BY出错是因为GROUP BY会把同一分组的行聚合为一行,导致Col2的多条记录丢失;而窗口函数是在原表每一行的上下文里计算分组聚合值,不会改变原表的行数结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:40:37