这里介绍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

转载于:https://www.cnblogs.com/Fskjb/archive/2010/05/02/1726084.html

sql小计汇总 rollup用法实例分析(转)相关推荐

  1. 简述游标原理 mysql_mysql游标的原理与用法实例分析

    本文实例讲述了mysql游标的原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是游标 创建游标 使用游标 首发日期:2018-04-18 什么是游标: 如果你前面看过mysql函数,会发 ...

  2. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  3. python中event的用法_Python编程之event对象的用法实例分析

    本文实例讲述了Python编程中event对象的用法.分享给大家供大家参考,具体如下: Python提供了Event对象用于线程间通信,它是由线程设置的信号标志,如果信号标志位为假,则线程等待直到信号 ...

  4. python中property函数_python 邮件表格Python中property函数用法实例分析

    本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...

  5. python asyncio回调函数_python回调函数用法实例分析

    python回调函数用法实例分析 本文实例讲述了python回调函数用法.分享给大家供大家参考.具体分析如下: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步 ...

  6. php 类常量用法,php类常量用法实例分析

    这篇文章主要介绍了php类常量用法,实例分析了php中类常量的概念.特性与相关使用技巧,需要的朋友可以参考下 本文实例讲述了php类常量用法.分享给大家供大家参考.具体如下: '; echo Foo: ...

  7. PHP - 回调函数概念与用法实例分析 - 学习/实践

    1.应用场景 主要用于理解回调函数的概念, 对比JavaScript中的回调函数, 更加深刻理解回调函数的本质, 以及如何高效使用~~~ 2.学习/操作 1. 文档阅读 https://www.jb5 ...

  8. php?redis的scan用法实例分析

    更多python教程请到友情连接: 菜鸟教程https://www.piaodoo.com 茂名一技http://www.enechn.com ppt制作教程步骤 http://www.tpyjn.c ...

  9. oralce rollup 小计合计_总计与小计–WITH ROLLUP

    rollup:汇总 在GROUP后加WITH ROLLUP来实现总计与小计,它会对每次分组的结果进行ROLLUP操作,产生汇总的结果,显示在行下. 在显示的时候可用GROUPING来判断当天是数据行还 ...

  10. config database.php,CodeIgniter配置之database.php用法实例分析

    这篇文章主要介绍了CodeIgniter配置之database.php用法,结合实例形式较为详细的分析总结了CodeIgniter常用的数据库连接方式,需要的朋友可以参考下 本文实例分析了CodeIg ...

最新文章

  1. 前端工程师的mysql笔记
  2. 软件分享:将应用一键打包成dmg文件
  3. Intel Realsense D435 opencv 为什么将color图转换成灰度图后,再与depth图水平堆叠,其结果一片黑色?(数据未map到0-255)
  4. 用与非门设计血型配对电路_电路板中与非门集成电路的控制原理
  5. 如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用
  6. labview嵌入c代码_LabVIEW与myRIO嵌入式系统开发入门
  7. 即将到来的 ECMAScript 2022 新特性
  8. Win7电脑设置定时关机的操作方法
  9. P3399 丝绸之路(线性二维dp)
  10. 去重 属性_Javascript算法 — 数组去重
  11. 自学python能学成吗-没有任何编程基础可以直接学习python语言吗?学会后能够做什么?...
  12. 不存在_别傻了,根本就不存在缘分天定
  13. 《互联网公司各职位面试360度全方位解读》
  14. ubuntu 下创建加密文件夹
  15. Python批量改变图片名字
  16. vbs 打开指定浏览器网页
  17. 谷歌,被尘封的过去!
  18. SNIPER- Efficient Multi-Scale Training
  19. 一战赚了1090亿,恐怖的头条CEO张一鸣!
  20. 解决电脑桌面图标显示为空白图片

热门文章

  1. Caffe各版本与源码全透析
  2. MatConvnet工具箱文档翻译理解一
  3. Linux 错误: $'\r': command not found错误解决
  4. python实现嵌套列表按指定位置元素排序、按子列表长度、子列表之和、绝对值和、最大/最小值排序
  5. 2021-07-01事件绑定
  6. 2021-06-21结构伪类选择器
  7. mysql算大型数据库吗_mysql – 估计大型数据库的大小和速度
  8. js 实现PHP中的in_array()
  9. 鸿蒙系统自主研发,华为鸿蒙OS系统规划曝光,原来国产自主研发系统已经如此强大...
  10. 设计模式之GOF23备忘录模式