假设我有一张桌子看起来像:
| C1 | C2 | C3 | C4 |
| AAAA | 11 | 14 | 12 |
| AAAA | 21 | 04 | 31 |
| AAAA | 17 | 24 | 13 |
| AAAA | 13 | 13 | 14 |
| AAAA | 11 | 23 | 12 |
| AAAA | 19 | 21 | 15 |
| BBBB | 11 | 11 | 19 |
| BBBB | 16 | 11 | 18 |
| BBBB | 17 | 14 | 13 |
| BBBB | 13 | 12 | 13 |
| BBBB | 12 | 21 | 11 |
| BBBB | 12 | 21 | 13 |
这就是我想要的样子:
| C1 | C2 | C3 | C4 |
| AAAA | 92 | 99 | 97 |
| BBBB | 81 | 90 | 87 |
我知道我可以这样做:
SELECT SUM( C2 ), SUM( C3 ), SUM( C4 )
FROM mytable;
问题是它占用了整个列的全部和。有没有一种方法可以使它相对于C1中的内容来做呢?
最佳答案
你错过了一组。
SELECT C1, SUM(C2), SUM(C3), SUM(C4)
FROM mytable GROUP BY C1
未指定group by时,它将对整个表求和。
关于sql - 将某些行与另一列一起添加-Postgres,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35182054/