我如何“分组”并获得总和?

时间:2014-08-22 07:51:55

标签: mysql group-by sum

我有一张像这样的桌子......

    A    B
    1    1
    1    1
    1    2
    2    2
    2    2
    2    1

我使用了mysql查询

select A, B from myTable group by A, B

让它看起来像这样......

    A    B
    1    1
    1    2
    2    2
    2    1

现在我想得到" A"柱。我尝试使用

select sum(A) from myTable group by A, B

但它并没有像"那样起作用。命令破坏了结果。 (我想得到6)

我该怎么做?

编辑: 因为它不清楚,我希望输出看起来像这样

    A
    6

6来自A栏中的(1 + 1 + 2 + 2)

1 个答案:

答案 0 :(得分:1)

要获得A,B的所有不同组合的A之和,您可以使用简单的子查询;

SELECT SUM(A) A FROM (
  SELECT DISTINCT A,B
  FROM mytable
)z;

An SQLfiddle to test with.