我有一张包含这些值的表格:
Col1 | Col2 | Col3 |
one | two | 3 |
four | five | 6 |
four | seven | 8 |
four | seven | 9 |
我想创建一个查询,为每个记录返回一行,其中Col1和Col2都不同于其他记录,但如果它们在两个记录中都相同,那么结果应该是一行与那些Col1和Col2中的值以及第三列中的Col3总和。结果应该是:
Col1 | Col2 | ColNew |
one | two | 3 |
four | five | 6 |
four | seven | 17 |
谢谢。
答案 0 :(得分:4)
只是一个非常简单,简单的GROUP BY
和SUM
就可以解决问题:
SELECT
Col1, Col2, ColNew = SUM(Col3)
FROM
dbo.YourTable
GROUP BY
Col1, Col2
答案 1 :(得分:2)
对要“分组”的列使用GROUP BY
(在您的情况下为1和2)。然后在要“加”的列上使用SUM
(在您的情况下为3)。
select a.col1, a.col2, sum(a.col3) as colNew
from test as a
group by a.col1, a.col2;
SQLFiddle:http://sqlfiddle.com/#!3/070a3/4