SQL中配对列的总和

时间:2013-07-22 07:40:18

标签: sql-server sql-server-2008

我有TableInput

    A B AB ID H  I 
    1 1 1-1 3 1 2.2   //CASE1
    1 1 1-1 3 2 3.4   //CASE1
    1 4 1-4 3 1 2.2   
    1 4 1-4 3 4 4.2 
    1 4 1-4 3 4 3.2 
    1 5 1-5 3 4 1.2 
    1 5 1-5 3 4 3.2 
    1 6 1-6 3 4 5.2

这里考虑CASE1,其中AB列的值为1-1,在其他行中找到相同的对1-1,并且必须在H中添加列值。

因此我的结果表必须像..

      A B AB SUM(H) SUM(I) 
      1 1 1-1  3     5.6 
      1 4 1-4  9     9.6 
      1 5 1-5  8     2.4 
      1 6 1-6  4     5.2

没有想到如何查询我的输出表..

任何人都可以帮忙

3 个答案:

答案 0 :(得分:3)

这称为GROUP BY

SELECT A, B, AB, 
       SUM(H) AS SumH,
       SUM(I) AS SumI
FROM dbo.TableName
GROUP BY A, B, AB

您必须对要选择的不属于GROUP BY的列应用aggregate functions

答案 1 :(得分:1)

  Select A,B,AB, 
   SUM(H) as [SUM(H)],
    SUM(I) as [SUM(I)] 
  FROM Table1
     GROUP BY A, B, AB

答案 2 :(得分:0)

SELECT MAX(A), MAX(B), AB, MAX(ID), SUM(H), SUM(I)
FROM Table1
GROUP BY AB

<强>结果:

enter image description here

相关问题