转自: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. 如何在Android Studio中查看一个类的继承关系呢?

    在面板顶部的工具栏中,找到Navigate,然后在下拉列表中,找到“Type Hierarchy”(快捷键 Ctrl+H),点击.即可在面板右侧出现该类的Hierarchy层级图.

  2. 9 Java 堆排序

    堆是具有以下性质的完全二叉树,每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆:或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆.如下图: 同时,我们对堆中的结点按层进行编号,将这种逻 ...

  3. PAT_A1018#Public Bike Management

    Source: PAT A1018 Public Bike Management (30 分) Description: There is a public bike service in Hangz ...

  4. cv的期刊和会议

    http://blog.csdn.net/tmylzq187/article/details/51111421

  5. 57 和为S的数字

    题目一:和为S的两个数字 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小 ...

  6. 【Android】登陆界面设计

    界面布局 布局其实很简单,用相对布局累起来就可以了,然后注册和记住密码这两个控件放在一个水平线性布局里 界面底部还设置了一个QQ一键登录的入口,可以直接用. 控件的ID命名有点乱 <?xml v ...

  7. 举枪消灭"烂代码"的实战案例

    前言 之前我写过一篇如何少写PHP "烂"代码 https://segmentfault.com/a/11...感觉很多新人对此不太理解.今天以打卡功能为例,去讲解其中的奥秘.那篇 ...

  8. 第四节:Web爬虫之pyquery解析库

    PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严 ...

  9. BZOJ 2434 Luogu P2414 [NOI2011]阿狸的打字机 (AC自动机、树状数组)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2434 题解: 我写的是离线做法,不知道有没有在线做法. 转化一波题意,\(x\)在AC ...

  10. Tkinter图形界面设计(GUI)

    [因为这是我第一个接触的GUI图形界面python库,现在也不用了,所以大多数内容都来自之前花 钱买的一些快速入门的内容,可以当作简单的知识点查询使用] 在此声明:内容来自微信公众号GitChat,付 ...