我在sproc中填充了一个与此类似的临时表:
Company Col1 Col2 Col3 Total
Company1 4 3 2 9
Company2 1 0 3 4
Total ? ? ? ?
是否有一种灵活的方法可以在一次拍摄中使用每行的SUM填充底部总列,而无需使用子查询单独执行每一列?
答案 0 :(得分:1)
select sum(col1), sum(col2), sum(col3), sum(col1+col2+col3)
FROM CompanyTable
答案 1 :(得分:0)
如果您使用的DBMS是MS SQL而不是知道如何引用临时表:
SELECT SUM(Col1) as TotalOfCol1,...
FROM #Company
答案 2 :(得分:0)
如果您使用的是MySQL,则可以使用WITH ROLLUP功能在一个查询中获取整个表格:
SELECT Company, SUM(Col1), SUM(Col2), SUM(Col3), SUM(Col1 + Col2 + Col3)
FROM Table1
GROUP BY Company
WITH ROLLUP
结果:
'Company1' 4 3 2 9
'Company2' 1 0 3 4
'' 5 3 5 13 <--- This extra row is the column totals