Mysql 获取SQL中不同值的总和,并将其显示在记录中
我有一个SQL表Mysql 获取SQL中不同值的总和,并将其显示在记录中,mysql,sql,postgresql,Mysql,Sql,Postgresql,我有一个SQL表 Card_A | Card_B | power -----------+---------------+------- 3 | 1 | 9 2 | 3 | 9 2 | 3 | 4 我想用Card\u A和Card\u B的不同值进行sum(power)。当卡_A=2和卡_B=3时,有两个相同的功率值,分别
Card_A | Card_B | power
-----------+---------------+-------
3 | 1 | 9
2 | 3 | 9
2 | 3 | 4
我想用Card\u A
和Card\u B
的不同值进行sum(power)
。当卡_A=2
和卡_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解决方案也将被接受。我认为您需要使用GROUP BY而不是DISTINCT:
SELECT card_a, card_b, SUM(power)
FROM foo
GROUP BY card_a, card_b;
这会给你你想要的结果
DISTINCT将在结果集中找到唯一的记录,但它不会正确地汇总值
使用GROUP BY将创建您指定的列组(在本例中为card_a和card_b),并将计算每个组的总和。我认为您需要使用GROUP BY而不是DISTINCT:
SELECT card_a, card_b, SUM(power)
FROM foo
GROUP BY card_a, card_b;
这会给你你想要的结果
DISTINCT将在结果集中找到唯一的记录,但它不会正确地汇总值
使用GROUP BY将创建您指定的列的组(在本例中为card_a和card_b),并将计算每个组的总和