PostgreSQL多类别列聚合问题求助(附错误SQL示例)
正确的PostgreSQL分组求和实现
你的SQL语句存在三个关键问题:
- SQL语法顺序错误:
FROM子句必须放在GROUP BY之前 - 多余的
DISTINCT:GROUP BY本身会对分组字段去重,不需要额外添加DISTINCT GROUP BY包含了Column C:这会导致按三列组合分组,而非你需要的仅按Column A和Column B分组,最终无法得到正确的求和结果
正确的SQL语句如下:
SELECT "Column A", "Column B", SUM("Column C") AS "Sum of C" FROM public.table1 GROUP BY "Column A", "Column B";
说明:
- 由于你的列名包含空格,必须用双引号(
")包裹列名,PostgreSQL才能正确识别这类带空格的标识符 GROUP BY仅保留需要分组的Column A和Column B,确保同一组合下的Column C值被汇总求和- 移除了不必要的
DISTINCT,避免冗余操作
内容的提问来源于stack exchange,提问作者matheusppedroso
相关产品推荐
相关产品推荐

