gpt4 book ai didi

sql - 当列值相同时,如何在 postgres 中合并行,并根据合并的行对另一列求和?

转载 作者:行者123 更新时间:2023-12-02 19:51:30 25 4
gpt4 key购买 nike

给定一个这样的表结构:

id | name | amount | other1 | other2 | other3

和示例数据,如:

1 | a | 40 | unrelevant data | ...
2 | a | 80 | unrelevant data | ...
3 | b | 30 | unrelevant data | ...
4 | b | 50 | unrelevant data | ...
5 | c | 20 | unrelevant data | ...
6 | c | 30 | unrelevant data | ...

我希望我的选择结果压缩行并对被压缩的数量求和,我不关心丢失的数据(表示不相关数据的行):

1 | a | 120 | unrelevant data | ...
3 | b | 80 | unrelevant data | ...
5 | c | 50 | unrelevant data | ...

我试过这样的:

SELECT id, "name", SUM(amount), other1, other2, other3 FROM test_table
GROUP BY "name"

我得到了错误:

column "id" must appear in the GROUP BY clause or be used in an aggregate function

所以我知道我错过了什么。

最佳答案

您可以使用 max() 作为 id:

SELECT MAX(id), "name", SUM(amount), MAX(other1) . . .
FROM test_table
GROUP BY "name"

关于sql - 当列值相同时,如何在 postgres 中合并行,并根据合并的行对另一列求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58071365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com