mssql sqlserver 使用sql脚本”同时对每一行每一列进行求和”的方法分享


摘要:
下文讲述我们使用sql脚本对数据表中的每一行 每一列进行横纵求和的方法分享,如下所示:
实验环境:sql server 2008 R2


此实验的前提,只可以对数值类型的列和行进行求和操作,下面我们将建立一个全部都是数值类型列的数据表,然后进行行列求和操作。

实现思路:
使用union all 分别将纵向汇总的数据组合至明细表中

    create table [maomao365.com]
(keyIdA int not null ,
 keyIdB int not null ,
 keyIdC int not null )
go
----生成基础数据
insert into [maomao365.com]
(keyIdA,keyIdB,keyIdC)values
(1,2,3),(4,5,6),(7,8,9),
(11,20,31),(40,50,60),(70,80,90),
(10,20,30),(42,52,62),(72,82,92)

go

select '明细' as sort ,keyIdA,keyIdB,keyIdC , (keyIdA+keyIdB+keyIdC)  as [横向求和]  
  from [maomao365.com] 
union all
select '汇总' as sort ,sum(keyIdA),sum(keyIdB),sum(keyIdC) ,sum(keyIdA+keyIdB+keyIdC)  as [横向求和]  
  from [maomao365.com]

go
truncate table [maomao365.com]
drop     table [maomao365.com]
sqlserver_横列汇总求和方法

sqlserver_横列汇总求和方法