重新组合常见行

时间:2013-05-16 17:29:34

标签: sql-server-2008 group-by

我有一个查询会给我4次重复每次,因为一个字段不同。

假设我有这张桌子

-----------------
| A |  B | C | D |
-----------------
| 1 |Blue| 2 | 0 |
| 1 |Blue| 2 | 1 |
| 1 |Blue| 2 | 2 |
| 1 |Blue| 2 | 3 |
| 2 |Red | 1 | 0 |
| 2 |Red | 1 | 1 |
| 2 |Red | 1 | 2 |
| 2 |Red | 1 | 3 |
------------------

我想做的是将它们重新组合成一个。对于D列,应使用SUM()将其分组为一个。

事情是我不知道从哪里开始。是否有关键字将它们组合成一个?我会使用Distinct但由于1个不匹配,我仍然会有4个。

最终的重新设置应该是

------------------
| A |  B | C | D |
------------------
| 1 |Blue| 2 | 6 |
| 2 |Red | 1 | 6 |
------------------

甚至可能吗?

1 个答案:

答案 0 :(得分:1)

确定有可能 - 这应该这样做:

 select A, B, C, sum(D) as D
 from TABLE
 group by A, B, C