MySQL Sum分组问题

时间:2012-03-21 11:12:53

标签: mysql group-by

我有一张包含要开票的工作的表格。每行包含两列,'value'和'group'。喜欢这个

ID   Value  Group
1   2000.00   1
2   2000.00   1
3   1000.00   0
4   1000.00   0

我需要做的是组合第1行和第2行中的值(因为它们具有相同的组号),然后像往常一样返回第3行和第4行(因此,不能组合在一起):

4000    //Rows 1 and 2 combined
1000    //Row 3 returned as whole value
1000    //Row 4 returned as whole value

我尝试在查询中使用GROUP BY,例如

  SELECT SUM(Value) AS totalValue FROM table GROUP BY Group

然而,这会返回

4000
2000 //Row 3 and 4 combined

它将第3行和第4行合并,因为它们共享相同的组号,将它们组合在一起。

我的问题是,我不希望它们组合在一起。我希望它们单独返回,因为它们的值为零。我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:2)

SELECT Group AS Unique_ID, SUM(Value) AS totalValue FROM table WHERE Group>0 GROUP BY Group
UNION
SELECT id AS Unique_ID, Value As totalValue FROM table WHERE Group=0