• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MsSql > sql rollup用法 小计汇总

sql rollup用法 小计汇总

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了sql rollup,sql with rollup,sql group by rollup,sql中rollup,sql server rollup等相关知识,希望本文的分享对您有所帮助

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • sql rollup用法 小计汇总

相关文章

  • 2017-05-11sql Server 2008 R2还原或删除数据库时总是出错的解决方法
  • 2017-05-11还原sqlserver2008 媒体的簇的结构不正确的解决方法
  • 2017-05-11SQL Server2005下的安全操作技巧分享
  • 2017-05-11SqlServer 2005的排名函数使用小结
  • 2017-05-11SQL Server Native Client下载 SQL Server Native Client安装方法
  • 2017-05-11解决SQL2005备份数据库.dat或bak还原时的结构错误的解决方法
  • 2017-05-11SQL Server 2005 中做全文检索的方法分享
  • 2017-05-11SQLSERVER2008中CTE的Split与CLR的性能比较
  • 2017-05-11简述SQL Server 2005数据库镜像相关知识
  • 2017-05-11SQLServer2005中的SQLCMD工具使用

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SqlServer 2005的排名函数使用小结
    • MSSQL2005数据库备份导入MSSQL2000
    • SQL2005 大数据量检索的分页
    • SQL2008 附加数据库提示 5120错误 解决办法
    • SQL Server2005下的安全操作技巧分享
    • SQL SERVER 2005数据库还原的方法
    • 正解SQLSEVER 2005 sql排序(按大小排序)
    • sqlserver 存储过程中的top+变量使用分析(downmoon)
    • SQL Server复制需要有实际的服务器名称才能连接到服务器
    • sqlserver2005 TSql新功能学习总结(数据类型篇)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有