转自:http://www.jb51.net/article/18860.htm

这里介绍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小计合计的更多相关文章

  1. T-SQL多个小计+合计,分类汇总

    select then '合计' else cast(姓名 as varchar) end 姓名, then '姓名小计' else cast(学期 as varchar) end 学期, case ...

  2. sql小计汇总 rollup用法实例分析

    这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 ...

  3. oracle 报表带小计合计

    selectcase when (grouping(glbm)=1) then '合计' else DECODE(glbm,null,'',glbm) end glbm,case when (grou ...

  4. vue 动态合并单元格、并添加小计合计功能

    1.效果图 2.后台返回数据格式(平铺式) 3.后台返回数据后,整理所需要展示的属性存储到(items)数组内 var obj = { "id": curItems[i].id, ...

  5. sqlserver 小计合计总计

    SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计'WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN  F1+'合计'W ...

  6. sqlservere小计合计总计

    SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计' WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN F1+'合计' ...

  7. oracle里面用sql做报表并带小计合计常用到的函数

    1-- DECODE函数是Oracle PL/SQL是功能强大的函数之一,假设我们想给职员加工资,其标准是:工资在8000元以下的将加20%:工资在8000元以上的加15%,通常的做法是,先选出记录 ...

  8. oracle group by rollup实现小计、合计

    SQL合计汇总实现数据N+1条显示: 注意group by rollup((ename, job, empno))!!! select decode(grouping(ename) + groupin ...

  9. 用SQL实现统计报表中的"小计"与"合计"的方法详解

    本篇文章是对使用SQL实现统计报表中的"小计"与"合计"的方法进行了详细的分析介绍,需要的朋友参考下   客户提出需求,针对某一列分组加上小计,合计汇总.网上找 ...

随机推荐

  1. dotnetnuke 头像调用 头像缩放

    public static string GetProfileImage(int userId, int width, int height)        {                     ...

  2. C语言保留字

    数值变量相关: int float double char long short unsigned signed 储存说明符 const 用于声明常量 static用于限制变量/函数的作用范围等等 e ...

  3. ARM处理器的寄存器,ARM与Thumb状态,7中运行模式

     ** ARM处理器的寄存器,ARM与Thumb状态,7中运行模式  分类: 嵌入式 ARM处理器工作模式一共有 7 种 : USR  模式    正常用户模式,程序正常执行模式 FIQ模式(Fast ...

  4. UICollectionViewFlowLayout & UICollectionViewDelegateFlowLayout

    A concrete layout object that organizes items into a grid with optional header and footer views for ...

  5. 移动的 touch事件中的touches、targetTouches和changedTouches

    touches: 当前屏幕上所有触摸点的列表; targetTouches: 当前对象上所有触摸点的列表; changedTouches: 涉及当前(引发)事件的触摸点的列表 通过一个例子来区分一下触 ...

  6. servlet之@PostConstruct,@PreDestroy

    1.@PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法.被@PostCo ...

  7. 8.2.3 覆写 Equals

    经过对四种不同类型判等方法的讨论,我们不难发现不管是 Equals 静态方法.Equals 虚方法 抑或==操作符的执行结果,都可能受到覆写 Equals 方法的影响.因此研究对象判等就必须将注意 力 ...

  8. JAVA正则表达式matcher.find()和 matcher.matches()的区别

    1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数.matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为数 ...

  9. vim学习3-查找替换

    一.字符的替换及撤销(Undo操作) 1.替换和撤销(Undo)命令 替换和Undo命令都是针对普通模式下的操作 命令 说明 r+<待替换字母> 将游标所在字母替换为指定字母 R 连续替换 ...

  10. Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门

    1. 什么是Beetl Beetl目前版本是2.7.0,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎. ...