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

DB2中如何在查询中同时返回聚合函数结果与其他列值?

DB2聚合查询报错解决及示例

你遇到的SQL返回码-122,核心原因是:当SELECT语句包含聚合函数(如SUM())时,所有未被聚合的列必须出现在GROUP BY子句中,否则DB2无法确定非聚合列与聚合结果的关联逻辑。

以下分两种常见场景给出正确示例:

场景1:按指定列分组求和

如果需要按Column 2分组,计算每组的数值列总和,需添加GROUP BY子句:

SELECT SUM(num_column) AS total_sum,
       column_2
FROM your_table
GROUP BY column_2;

(注:将num_column、column_2、your_table替换为实际的列名和表名)

场景2:获取全局总和+每条记录的其他字段

如果不需要分组,只想同时显示整个表的数值列总和,以及每条记录的Column 2等字段,可使用窗口函数SUM() OVER():

SELECT SUM(num_column) OVER() AS global_total,
       num_column,
       column_2
FROM your_table;

这个查询中,global_total会返回所有记录的num_column总和,同时保留每条记录的原始字段值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:15:33