博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Grouping 用法

Posted on 2007-12-27 11:36  郭子  阅读(498)  评论(0编辑  收藏  举报

--GROUPING
--是一个聚合函数,它产生一个附加的列,当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0。

--仅在与包含 CUBE 或 ROLLUP 运算符的 GROUP BY 子句相联系的选择列表中才允许分组。

--语法

GROUPING ( column_name ) 

--参数
--column_name 是 GROUP BY 子句中用于检查 CUBE 或 ROLLUP 空值的列。

 

create table #t(厂商 varchar(20),货品 varchar(20),重量 int)
insert into #t
select 'xx1','AA1',3
union all select 'xx1','AA2',2
union all select 'xx2','A2'3
union all select 'xx3','A2',5

Select 厂商,CASE WHEN (GROUPING(货品)=1THEN 'SUM'
             
ELSE 货品 END as 货品,SUM(重量) as 重量
From #t
GROUP BY 厂商, 货品 WITH ROLLUP