SQLserver中cube:多维数据集实例详解


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



cube关键字简介

cube关键字:生成多维数据集,包含各维度可能组合的交叉表格,需在group by 使用 with关键字连接 (with cube)


例:

   /*新建表格 并插入相关数据*/
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 cube关键字后,我们可以看出
按照sortA,sortB关键字群组后,使用with cube后,
系统将展示出所有可能的组合
例:
 sortA +sortB 及合计
 sortA有值  sortB为空时 及合计
 sortA为空时 sortB有值时 及合计
 sortA sortB 都为空时 及合计
*/
select sortA,sortB,sum(qty) as qtyAll from A 
group by sortA,sortB 
with cube
go
 
truncate table A 
drop     table A 


总结及注意事项:
数据的展示顺序根据group by 列名的顺序,依次产生。

mssql_sqlServer_withCube关键字

mssql_sqlServer_withCube关键字