位置: 编程技术 - 正文

sql rollup用法 小计汇总(sql server rollup函数)

编辑:rootadmin

这里介绍sql server里面的一个使用实例:

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

1、 只有一个汇总

select province as 省,sum(score) as 分数 from tb group by province with rollup

结果:

广东 江苏 7陕西 9NULL

select case when grouping(province)=1 then '合计' else province end as 省,sum(score) as 分数 from tb group by province with rollup

结果:

广东 江苏 7陕西 9合计

2、两级,中间小计最后汇总

select province as 省,city as 市,sum(score) as 分数 from tb group by province,city with rollup

结果:

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

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 0 1江苏 南京 6 0 0江苏 苏州 1 0 0江苏 NULL 7 0 1陕西 安康 4 0 0陕西 汉中 2 0 0陕西 西安 3 0 0陕西 NULL 9 0 1NULL NULL 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广东 小计 江苏 南京 6江苏 苏州 1江苏 小计 7陕西 安康 4陕西 汉中 2陕西 西安 3陕西 小计 9合计 NULL

推荐整理分享sql rollup用法 小计汇总(sql server rollup函数),希望有所帮助,仅作参考,欢迎阅读内容。

sql rollup用法 小计汇总(sql server rollup函数)

文章相关热门搜索词:sqlplus rollback,sql role,sqlplus rollback,sql server rollup函数,sqlserver rollup,sql中rollup的使用,sqlserver rollup,rollnumber sql,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL Server “备份集中的数据库备份与现有的数据库不同”解决方法 以前一直使用SQLServer,现在跟潮流都这么紧,而且制定要求使用SQLServer,就在现在的项目中使用它了。对于SQLServer,有几个地方是要注意的,

SQL 学习笔记 公用表表达式(CTE) 公用表表达式(CTE)可以认为是在单个SELECT、INSERT、UPDATE、DELETE或CREATEVIEW语句的执行范围内定义的临时结果集。CTE与派生表类似,具体表现在不存储为对

SQL学习笔记 APPLY 运算符 使用APPLY运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来

本文链接地址:https://www.jiuchutong.com/biancheng/319257.html 转载请保留说明!

上一篇:SqlServer2005 链接服务器用法(sqlserver2008连接)

下一篇:SQL2005 学习笔记 公用表表达式(CTE)(sql2005数据库)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络