统计

本文通过一个具体的SQL脚本示例,展示了如何使用T-SQL进行数据分组及汇总统计,包括创建临时表、插入数据、使用CASE WHEN语句进行条件判断、GROUP BY进行分组、WITH ROLLUP进行总计等操作。
摘要由CSDN通过智能技术生成

create table T(区域 char(1),类型 int)
insert into T select 'A',1
insert into T select 'B',2
insert into T select 'C',3
insert into T select 'A',4
insert into T select 'A',5
insert into T select 'B',1
insert into T select 'B',2

declare @s varchar(8000)
set @s=''
select @s=@s+',['+区域+']=convert(varchar(10),sum(case 区域 when '''+区域+''' then 1 else 0 end))+''条'''
from T group by 区域 order by 区域
exec('select CASE WHEN (GROUPING(类型) = 1)
THEN ''总计'' else convert(char(6),类型) END AS 类型
'+@s+' from T group by 类型 WITH ROLLUP order by 类型')

drop table t

/*

类型     A            B            C           
------ ------------ ------------ ------------
1      1条           1条           0条
2      0条           2条           0条
3      0条           0条           1条
4      1条           0条           0条
5      1条           0条           0条
总计     3条           3条           1条

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值