我有一张包含要开票的工作的表格。每行包含两列,'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行合并,因为它们共享相同的组号,将它们组合在一起。
我的问题是,我不希望它们组合在一起。我希望它们单独返回,因为它们的值为零。我有什么方法可以做到这一点吗?
答案 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