Sql server 2008 重新组合公共行
我有一个查询,每次都会给我4个重复的,因为一个字段不同 假设我有这张桌子Sql server 2008 重新组合公共行,sql-server-2008,group-by,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 | ------
-----------------
| 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个
最终的REUSELT集合应该是
------------------
| A | B | C | D |
------------------
| 1 |Blue| 2 | 6 |
| 2 |Red | 1 | 6 |
------------------
有可能吗 当然有可能——这应该可以做到:
select A, B, C, sum(D) as D
from TABLE
group by A, B, C