SQLserver中rollup:单列多维数据集实例详解


摘要:
下文主要讲述sql server中rollup 关键字的功能及用法简介



rollup关键字简介

rollup关键字:生成多维数据集(依据group by 后第一个群组字段可能组成的交叉集合),使用方法在group by 使用 with关键字连接 (with rollup)


例:

   /*新建表格 并插入相关数据*/
create table A(sortA varchar(10),sortB varchar(20),qty int)
insert into A(sortA,sortB,qty)values('A','B',1)
insert into A(sortA,sortB,qty)values('A','C',2)
insert into A(sortA,sortB,qty)values('A','D',6)
insert into A(sortA,sortB,qty)values('T','F',10)
insert into A(sortA,sortB,qty)values('T','C',10)
insert into A(sortA,sortB,qty)values('T','G',20)
insert into A(sortA,sortB,qty)values('T','H',30)
go
/*当在group by 后面加入 with rollup关键字后,我们可以看出
按照sortA,sortB关键字群组后,使用with rollup后,
系统将展示出第一个群组字段sortA 可能的组合
例:
 sortA +sortB 及合计
 sortA有值  sortB为空时 及合计 
 sortA sortB 都为空时 及合计*/
select sortA,sortB,sum(qty) as qtyAll from A 
group by sortA,sortB 
with rollup
go 
 
truncate table A 
drop     table A 


总结及注意事项:
数据的展示顺序根据group by 列名的顺序,依次产生。
当群组字段只有一个时,cube rollup 关键字所产生的数据集合一致

mssql_sqlserver_rollup关键字使用说明

mssql_sqlserver_rollup关键字使用说明