• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sql 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

    上一篇:SqlServer2005 链接服务器用法
    下一篇:SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    sql rollup用法 小计汇总 sql,rollup,用法,小计,汇总,