`
shangjava
  • 浏览: 1189633 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

SQL 分类汇总

阅读更多

SQL分类汇总
DECLARE @t TABLE(Groups char(2),Item varchar(10),Color varchar(10),Quantity int)
INSERT @t SELECT 'aa','Table','Blue', 124
UNION ALL SELECT 'bb','Table','Red', -23
UNION ALL SELECT 'bb','Cup' ,'Green',-23
UNION ALL SELECT 'aa','Chair','Blue', 101
UNION ALL SELECT 'aa','Chair','Red', -90

--汇总显示
SELECT Groups=CASE
WHEN GROUPING(Color)=0 THEN Groups
WHEN GROUPING(Groups)=1 THEN '总计'
ELSE '' END,
Item
=CASE
WHEN GROUPING(Color)=0 THEN Item
WHEN GROUPING(Item)=1 AND GROUPING(Groups)=0 THEN Groups+' 合计'
ELSE '' END,
Color
=CASE
WHEN GROUPING(Color)=0 THEN Color
WHEN GROUPING(Color)=1 AND GROUPING(Item)=0 THEN Item+' 小计'
ELSE '' END,
Quantity
=SUM(Quantity)
FROM @t
GROUP BY Groups,Item,Color WITH ROLLUP
/*--结果
Groups Item Color Quantity
-------- ---------------- ---------------------- -----------
aa Chair Blue 101
aa Chair Red -90
Chair 小计 11
aa Table Blue 124
Table 小计 124
aa 合计 135
bb Cup Green -23
Cup 小计 -23
bb Table Red -23
Table 小计 -23
bb 合计 -46
总计 89
--
*/

--------------------------

if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([部门] varchar(6),[电话] varchar(20),[金额] int)
insert [tb]
select '营业部',8001,20 union all
select '营业部',8002,30 union all
select '财务部',6001,10 union all
select '财务部',6003,100

select
isnull(部门,'总计') as 部门,
isnull(电话,'小计') as 电话,
sum(金额) as 金额
from tb
group by 部门,电话 with rollup --测试结果:
/*

部门 电话 金额
------ -------------------- -----------
财务部 6001 10
财务部 6003 100
财务部 小计 110
营业部 8001 20
营业部 8002 30
营业部 小计 50
总计 小计 160

(所影响的行数为 7 行)

*/


分享到:
评论

相关推荐

    sql 分类汇总sql

    sql 分类汇总sql 分类汇总sql 分类汇总sql 分类汇总sql 分类汇总

    sql分类汇总及Select的自增长脚本

    其中Num是自增长列,Operation是分类标签,count是汇总数据 脚本如下: 代码如下: select Num=row_number() OVER(order BY HT_Resv.OperationStatus),HT_Resv.OperationStatus , CASE HT_Resv.OperationStatus WHEN ‘3...

    sql经典精华语句汇总 很牛的一个汇总

    sql经典精华语句汇总 很牛的一个汇总 sql经典精华语句汇总 很牛的一个汇总

    如何在sqlserver中进行分类汇总-附件sql server 2005实例数据库和脚本

    小编对工作中遇到的用数据库语句进行分类汇总的查询信息的信息。压缩包中附件相关的数据库和 sql脚本。 详细的思路过程见博客:https://blog.csdn.net/aiming66/article/details/80717802

    分类汇总,SQL进销存-chengg

    分类汇总

    sql2005分类汇总

    很好的,多多下载呀!!!!!!

    数据分层汇总交叉报表SQL语句实现方法

    在管理系统中,管理人员往往需要对业务数据进行不同需求的分层汇总,并产生各种形式交叉报表。为了实现此类报表,程序员需要构造层次结构非常复杂的SQL语句,甚至使用前台编程工具或其它报表工具来完成。 以下通过二...

    Excel分类汇总导航1.01.exe

    按提示自动操作excel对excel或wps表格里的内容进行分类汇总。 与excel自带分类汇总的区别: ☆、可以按多列分类 2、按需要自动排序、自动分类生成汇总表格 3、简单明了 更新: 1.01 修正了非连续空行当成...

    SQL Server 存储层级数据实现无限级分类,左右值分类

    SQL Server 存储层级数据实现无限级分类,非递归存储过程无限级分类,左右值分类

    超3万条 中国成语大全数据库(sql版)

    一共收录31717条数据,并且是按照成语首个汉字的拼音,依据26英文字母排序。 注意,我的数据表的名字为chengyu,其中具有字段为:id,name(名称),sound...如果您需要excel版本的话,自己sql转excel有困难,可以私信我

    SQL知识点汇总【完整版】

    全面详细的SQL基础知识 1.SQL语言分类 2.SQL SERVER 2008 数据分类 3.用户定义的数据类型 4.常规标识符 5.分隔标识符 6.…… 内容详细,就不多加描述,对于初学者绝对是很有帮助

    Sqlserver2000经典脚本

    6.1.5 按指定上下限区间进行数据统计的示例.sql │ │ 6.1.6 随机出题的示例.sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(定义各汇总列标题).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序及汇总列...

    经典SQL脚本大全

    │ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序及汇总列标题处理).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序处理).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例.sql │ │ 6.2.1 UNION ALL实现的分级汇总示例....

    数据库管理与开发项目教程-教案-06项目四:使用T-SQL查询表数据-任务2分类汇总.docx

    数据库管理与开发项目教程-教案-06项目四:使用T-SQL查询表数据-任务2分类汇总.docx

    收获不止SQL优化

    8.2.3 索引扫描类型的分类与构造 219 8.3 索引相关优化案例 225 8.3.1 三大特性的相关案例 225 8.3.2 组合索引的经典案例 231 8.4 本章习题、总结与延伸 234 第9章 且慢,弄清索引之阻碍让SQL飞 235 9.1 索引...

    数据库SQL实战牛客网数据库SQL实战题目汇总源代码

    数据库SQL实战牛客网数据库SQL实战题目汇总源代码。编号 分类 标题 提交 1 过滤 查找最晚入职员工的所有信息 :monkey_face: 2 过滤 查找入职员工时间排名倒数第三的员工所有信息 :monkey_face: 3 连接 查找当前薪水...

    SQL Server数据汇总五招轻松搞定

    有些时候你想让SQL Server 返回一个聚集结果集合,而不是一个详细的结果集。...GROUPBY子句允许你在一列或多列数据甚至是表达式上进行分组操作,在这篇文章中,我将讨论如何使用GROUPBY子句来汇总数据。

    SQL21日自学通

    报表与分类汇总449 BREAK ON449 COMPUTE450 在SQL*PLUS 中使用变量453 DEFINE 454 ACCEPT 455 NEW_VALUE457 DUAL 表458 DECODE 函数459 日期转换462 运行一系列的SQL 文件465 在你的SQL 脚本中加入注释466 高级报表...

    收获,不止SQL优化--抓住SQL的本质

    8.2.3 索引扫描类型的分类与构造 219 8.3 索引相关优化案例 225 8.3.1 三大特性的相关案例 225 8.3.2 组合索引的经典案例 231 8.4 本章习题、总结与延伸 234 第9章 且慢,弄清索引之阻碍让SQL飞 235 9.1 索引...

Global site tag (gtag.js) - Google Analytics