我有一个sql表,
Card_A | Card_B | power
-----------+---------------+-------
3 | 1 | 9
2 | 3 | 9
2 | 3 | 4
我想 sum(power)
具有明显的价值 Card_A
以及 Card_B
. 什么时候 Card_A = 2
以及 Card_B = 3
,有两个相同的幂值,分别为9和4。输出应该是,
Card_A | Card_B | power
-----------+---------------+-------
3 | 1 | 9
2 | 3 | 13
这个sql查询,我试过,
SELECT DISTINCT card_A, card_B, sum(power) FROM foo ;
我正在使用postgresql。mysql解决方案也将被接受。
1条答案
按热度按时间zbdgwd5y1#
我认为您需要使用group by而不是distinct:
这会给你你想要的结果。
distinct将在结果集中找到唯一的记录,但它不能正确地汇总值。
使用GROUPBY将创建由您指定的列组成的组(在本例中为CARDA和CARDB),并且将为每个组计算总和。