首页 > 解决方案 > PostgreSQL 按所有字段分组

问题描述

我有一个这样的查询:

SELECT
table1.*,
sum(table2.amount) as totalamount
FROM table1
join table2 on table1.key = table2.key
GROUP BY table1.*;

我收到错误:列“table1.key”必须出现在 GROUP BY 子句中或在聚合函数中使用。
有没有办法对“所有”字段进行分组?

标签: postgresql

解决方案


没有按所有列分组的快捷语法,但在所描述的情况下可能没有必要。如果key是主键,则使用它就足够了:

GROUP BY table1.key;

推荐阅读