--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(货品)=1) THEN 'SUM'
ELSE 货品 END as 货品,SUM(重量) as 重量
From #t
GROUP BY 厂商, 货品 WITH ROLLUP