转自:http://www.jb51.net/article/18860.htm

这里介绍sql server2005里面的一个使用实例: 
CREATE TABLE tb(province nvarchar(10),city nvarchar(10),score int) 
INSERT tb SELECT '陕西','西安',3 
UNION ALL SELECT '陕西','安康',4 
UNION ALL SELECT '陕西','汉中',2 
UNION ALL SELECT '广东','广州',5 
UNION ALL SELECT '广东','珠海',2 
UNION ALL SELECT '广东','东莞',3 
UNION ALL SELECT '江苏','南京',6 
UNION ALL SELECT '江苏','苏州',1 
GO 
1、 只有一个汇总 
select province as 省,sum(score) as 分数 from tb group by province with rollup 
结果: 
广东 10 
江苏 7 
陕西 9 
NULL 26

select case when grouping(province)=1 then '合计' else province end as 省,sum(score) as 分数 from tb group by province with rollup 
结果: 
广东 10 
江苏 7 
陕西 9 
合计 26

2、两级,中间小计最后汇总 
select province as 省,city as 市,sum(score) as 分数 from tb group by province,city with rollup 
结果: 
广东 东莞 3 
广东 广州 5 
广东 珠海 2 
广东 NULL 10 
江苏 南京 6 
江苏 苏州 1 
江苏 NULL 7 
陕西 安康 4 
陕西 汉中 2 
陕西 西安 3 
陕西 NULL 9 
NULL NULL 26 
select province as 省,city as 市,sum(score) as 分数,grouping(province) as g_p,grouping(city) as g_c from tb group by province,city with rollup

结果: 
广东 东莞 3 0 0 
广东 广州 5 0 0 
广东 珠海 2 0 0 
广东 NULL 10 0 1 
江苏 南京 6 0 0 
江苏 苏州 1 0 0 
江苏 NULL 7 0 1 
陕西 安康 4 0 0 
陕西 汉中 2 0 0 
陕西 西安 3 0 0 
陕西 NULL 9 0 1 
NULL NULL 26 1 1

select case when grouping(province)=1 then '合计' else province end 省, 
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 
合计 NULL 26

最新文章

  1. 阿里云推送SDK在某些机型(某米为主)下崩溃问题的解决方法
  2. autohotkey-【GUI】Switch between Windows of the Same Application
  3. DDL和DML的定义和区别
  4. UVA 1069 - Always an integer(数论)
  5. 1)③爬取网易It方面部分新闻
  6. Python笔记2.1
  7. ssh整合之一spring的单独运行环境
  8. MySql.Data.dll官网下载
  9. STL相关问题
  10. js判断设备是都是pc端
  11. 各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT_转
  12. [转]C语言指针详解(经典,非常详细)
  13. 'webpack' 不是内部或外部命令解决办法以及npm配置
  14. BZOJ1017: [JSOI2008]魔兽地图DotR【树形DP】【玄学】
  15. 1084 Broken Keyboard
  16. python2.7.12自带pip吗?
  17. es6-01
  18. JAVA Font类
  19. [scrapy] 爬了第一页就停止 filtered off site request to
  20. 【转载】 json字符串与JSON对象

热门文章

  1. Find the build UUID in a Crash Report
  2. C# Winform 获得下拉框 选中的值
  3. seam remote 返回的map结构
  4. 04 学习java养成良好的写作习惯
  5. 6 个 Linux 运维典型问题,大牛的分析解决思路在这里
  6. B.1 接口
  7. 小白神器 - 一篇博客学会CSS
  8. 洛谷 3203 HNOI2010 BOUNCE 弹飞绵羊
  9. Huawei-R&S-网络工程师实验笔记20190527-华为设备密码重置、设置web管理
  10. hadoop-hdp-ambari离线安装记录