sql rollup用法 小计汇总

前端之家收集整理的这篇文章主要介绍了sql rollup用法 小计汇总前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sql server2005里面的一个使用实例:

score int)
INSERT tb SELECT '陕西','西安',3
UNION ALL SELECT '陕西','安康',4
UNION ALL SELECT '陕西','汉中',2
UNION ALL SELECT '广东','广州',5
UNION ALL SELECT '广东','珠海','东莞',3
UNION ALL SELECT '江苏','南京',6
UNION ALL SELECT '江苏','苏州',1
GO

score) as 分数 from tb group by province with rollup

江苏7
陕西9
NULL26


score) as 分数 from tb group by province with rollup

结果:

广东10
江苏7
陕西9
合计26


score) as 分数 from tb group by province,city with rollup

结果:

广东东莞3
广东广州5
广东珠海2
广东NULL10
江苏南京6
江苏苏州1
江苏NULL7
陕西安康4
陕西汉中2
陕西西安3
陕西NULL9
NULLNULL26

score) as 分数,grouping(province) as g_p,grouping(city) as g_c from tb group by province,city with rollup


结果:

广东东莞300
广东广州500
广东珠海200
广东NULL1001
江苏南京600
江苏苏州100
江苏NULL701
陕西安康400
陕西汉中200
陕西西安300
陕西NULL901
NULLNULL2611


case when grouping(city)=1 and grouping(province)=0 then '小计' else city end 市,
sum(score) as 分数
from tb group by province,city with rollup

结果:

广东东莞3
广东广州5
广东珠海2
广东小计10
江苏南京6
江苏苏州1
江苏小计7
陕西安康4
陕西汉中2
陕西西安3
陕西小计9
合计NULL26

猜你在找的MsSQL相关文章