这里介绍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
sql小计汇总 rollup用法实例分析
2021-10-07 22:40数据库技术网 数据库技术
rollup在oracle ,sql-server里面都有有。
延伸 · 阅读
- 2022-06-27Python运行时修改业务SQL代码
- 2022-04-28SQL中常被忽视的八种错误用法
- 2022-04-11做 SQL 性能优化真是让人干瞪眼
- 2022-03-09sql语句中union的用法与踩坑记录
- 2022-03-09SQL利用游标遍历日期查询的过程详解
- 2022-03-08SQL删除重复的电子邮箱力扣题目解答流程
- 数据库技术
Mybatis分页插件的实例详解
这篇文章主要介绍了Mybatis分页插件的实例详解的相关资料,需要的朋友可以参考下...
- 数据库技术
SQL UPDATE 更新语句用法(单列与多列)
更新操作是数据库中最常用的操作之一,下面将为您介绍update语句的三种使用方法,供您参考,希望对您有所帮助...
- 数据库技术
SQL中过滤条件放on和where中的区别详解
这篇文章主要给大家介绍了关于SQL中过滤条件放on和where中的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...
- 数据库技术
谈谈数据库的字段设计的几个心得
今天小编就为大家分享一篇关于谈谈数据库的字段设计的几个心得,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...
- 数据库技术
PowerDesigner 12.5汉化特别版安装图文教程
PowerDesigner 12.5是这个数据库建模工具的经典版本,很多童鞋喜欢使用这个版本了。当然如果您喜欢高版本,也是可以的,本文就PowerDesigner 12.5安装破解进行...
- 数据库技术
数据库中的左连接(left join)和右连接(right join)区别
关于左连接和右连接总结性的一句话,左连接 where只影向右表,右连接where只影响左表...
- 数据库技术
带参数的sql和不带参数的sql存储过程区别
来执行我们sql语句,看到很多分页存储过程都是直接拼凑sql语句然后用exec('')执行起来了,这个从效率和安全上面来说,都是不推荐的。...
- 数据库技术
伴鱼基于 Flink 构建数据集成平台的设计与实现
数据仓库有四个基本的特征:面向主题的、集成的、相对稳定的、反映历史变化的。其中数据集成是数据仓库构建的首要前提,指将多个分散的、异构的数...