⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6.2.1 rollup实现的分级汇总示例(定义各汇总列标题).sql

📁 sqlserver 数据库编程的绝好脚本
💻 SQL
字号:
DECLARE @t TABLE(Groups char(2),Item varchar(10),Color varchar(10),Quantity int)
INSERT @t SELECT 'aa','Table','Blue', 124
UNION ALL SELECT 'bb','Table','Red',  -23
UNION ALL SELECT 'bb','Cup'  ,'Green',-23
UNION ALL SELECT 'aa','Chair','Blue', 101
UNION ALL SELECT 'aa','Chair','Red',  -90

--汇总显示
SELECT Groups=CASE 
		WHEN GROUPING(Color)=0 THEN Groups
		WHEN GROUPING(Groups)=1 THEN '总计'
		ELSE '' END,
	Item=CASE 
		WHEN GROUPING(Color)=0 THEN Item
		WHEN GROUPING(Item)=1 AND GROUPING(Groups)=0 THEN Groups+' 合计'
		ELSE '' END,
	Color=CASE 
		WHEN GROUPING(Color)=0 THEN Color
		WHEN GROUPING(Color)=1 AND GROUPING(Item)=0 THEN Item+' 小计'
		ELSE '' END,
	Quantity=SUM(Quantity)
FROM @t
GROUP BY Groups,Item,Color WITH ROLLUP
/*--结果
Groups Item       Color           Quantity    
-------- ---------------- ---------------------- ----------- 
aa     Chair      Blue            101
aa     Chair      Red             -90
                 Chair 小计       11
aa     Table      Blue            124
                 Table 小计       124
       aa 合计                    135
bb     Cup        Green           -23
                  Cup 小计        -23
bb     Table      Red             -23
                 Table 小计       -23
       bb 合计                    -46
总计                              89
--*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -