我目前有一些用于以下列格式创建Excel报告的SQL:
COL1 COL2 COL3
2 1 8
3 7 9
1 2 4
现在我要做的是总结这些值的总和,并使用UNION ALL
将其插入底部(除非当然有更好的方法。)
现在每个列的值都是由sums生成的。我无法理解的概念是如何将最后一行的所有值相加,如果可能的话。
所以输出应该是这样的:
COL1 COL2 COL3
2 1 8
3 7 9
1 2 4
6 10 21
谢谢!
答案 0 :(得分:2)
看起来你想要添加
WITH ROLLUP
到查询结尾
例如:
Select sum(a) as col1, sum(b) as col2
from yourtable
group by something
with rollup
根据查询的完整性质,您可能更喜欢使用类似的with cube
。见http://technet.microsoft.com/en-us/library/ms189305(v=sql.90).aspx
答案 1 :(得分:1)
select
col1
,col2
,col3
from tableA
union
select
sum(col1)
,sum(col2)
,sum(col3)
from tableA
order by col1,col2,col3
答案 2 :(得分:0)
SELECT COL1, COL2, COL3
FROM SomeTable
UNION ALL
SELECT SUM(COL1), SUM(COL2), SUM(COL3)
FROM SomeTable
请注意。还有一个ROLLUP子句,但我认为在这种情况下,上述将是一个更简单的解决方案 http://technet.microsoft.com/en-us/library/ms189305%28v=sql.90%29.aspx