其他行的SQL Server聚合摘要行

时间:2015-08-05 15:04:22

标签: sql sql-server

如何编写SQL来生成如下所示的行集?其中一行是其他行的聚合。

    Column1 Column 2
    Value1   12
    Value2   11
    Value3   6   
    Value4   17
    total    46

1 个答案:

答案 0 :(得分:2)

Group byROLLUP

一起使用
;WITH cte
     AS (SELECT*
         FROM   (VALUES ('Value1',12),
                        ('Value2',11),
                        ('Value3',6 ),
                        ('Value4',17)) tc (Column1, Column2))
SELECT column1= case when grouping(column1) = 1 then  'total' else column1 END,
       column2=Sum(column2)
FROM   cte
GROUP  BY rollup( column1 ) 

结果:

column1 column2
------- -------
Value1  12
Value2  11
Value3  6
Value4  17
total   46