sql小计汇总 rollup用法
来源:互联网 发布:91家居软件 编辑:程序博客网 时间:2024/06/05 15:51
rollup在oracle ,sql-server里面都有有。
这里介绍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
结果: 广东 10 select province as 省,city as 市,sum(score) as 分数 from tb group by province,city with rollup 结果: 广东 东莞 3 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 结果: 广东 东莞 3
select case when grouping(province)=1 then '合计' else province end as 省,sum(score) as 分数 from tb group by province with rollup
江苏 7
陕西 9
合计 26
2、两级,中间小计最后汇总
广东 广州 5
广东 珠海 2
广东 NULL 10
江苏 南京 6
江苏 苏州 1
江苏 NULL 7
陕西 安康 4
陕西 汉中 2
陕西 西安 3
陕西 NULL 9
NULL NULL 26
结果:
广东 广州 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
广东 广州 5
广东 珠海 2
广东 小计 10
江苏 南京 6
江苏 苏州 1
江苏 小计 7
陕西 安康 4
陕西 汉中 2
陕西 西安 3
陕西 小计 9
合计 NULL 26
- sql小计汇总 rollup用法
- sql小计汇总 rollup用法实例分析
- SQL学习(三) 轻松实现汇总小计(ROLLUP/CUBE)
- Sql使用WITH ROLLUP 进行分类汇总及小计功能
- Sql rollup用法
- SQL 中ROLLUP 用法
- Oracle Group By 用法之 —— Rollup (小计功能)
- SQL 中ROLLUP ,cube用法
- sql server 小计汇总的实现
- SQL中CUBE和ROLLUP的用法
- 2. isnull与rollup用法(SQL)
- SQL 中ROLLUP、CUBE 用法 (转)
- SQL 基础--> ROLLUP与CUBE运算符实现数据汇总
- SQL Server汇总使用GROUPING,ROLLUP和CUBE
- SQL 基础--> ROLLUP与CUBE运算符实现数据汇总
- SQL 基础--> ROLLUP与CUBE运算符实现数据汇总
- sql小计
- oracle group by rollup实现小计、合计
- EBS 组织关系
- TeraTerm ftp.exe 的批处理笔记
- Oracle 数据库日常维护手册
- asp.net 调用ORACLE存储过程方法
- 义和团真相
- sql小计汇总 rollup用法
- loopy()代表什么意思,怎么用
- Linux MMU summary
- RF设计过程中降低信号耦合的PCB布线技巧
- ~~~~~~~~~~~~~人品计算器~~~~~~~~~~~~~~~~~~~~~~~
- 往mysql数据库导入Function时报错
- flash读取cookies
- 天葬
- maven如何一次编译多个工程