`
ihuashao
  • 浏览: 4721807 次
  • 性别: 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 分类汇总

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

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

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

    在SQL中,分类汇总是一种非常常见的数据处理方法,它允许我们根据特定的列对数据进行分组,并计算每个组的汇总统计信息。在这个场景中,我们看到的是一个结合了分类汇总和自增长列的SQL查询,主要应用于数据分析和...

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

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

    sql2005分类汇总

    "sql2005分类汇总"这个主题可能包含一系列关于SQL Server 2005的不同方面的教程、案例研究或实用技巧,旨在帮助用户深入理解和掌握该系统。 1. **SQL Server 2005基础** - 数据库概念:理解数据库的逻辑设计,包括...

    分类汇总,SQL进销存-chengg

    分类汇总

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

    它通常包含两个字段,一个是原始数据的代码(如费用代码),另一个是汇总分类代码(如费用汇总类别)。例如,我们可以创建一个视图`FIN_COM_FEECODESTAT`,其中`REPORT_CODE`为报表编码,`FEE_CODE`为费用代码,`FEE...

    Excel分类汇总导航1.01.exe

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

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

    ### SQL Server 存储层级数据实现无限级分类与左右值分类 #### 一、背景介绍 在处理具有层级关系的数据时,例如商品分类、组织架构等,传统的递归方法虽然直观,但在层级较深的情况下会导致性能问题。为解决这一...

    SQL知识点汇总【完整版】

    SQL知识点汇总【完整版】 本节课将对 SQL 的基础知识进行一个全面详细的总结,包括 SQL 语言分类、SQL SERVER 2008 数据分类、用户定义的数据类型等重要知识点。 SQL 语言分类 SQL 语言可以分为三类:DDL、DML 和...

    SQL常用函数汇总(比较详细)

    "SQL常用函数汇总" SQL 语言中有多种类型的函数,可以按照不同的分类方式来分类,下面将从函数类别、聚合函数、转换函数、加密函数、游标函数、日期和时间函数、数学函数、元数据函数、排名函数、行集函数、安全...

    java面试笔试题分类汇总

    这份"java面试笔试题分类汇总"涵盖了多个核心Java技术领域的知识点,对于准备Java面试或笔试的人员来说,是一份非常宝贵的学习资源。以下是对每个领域的详细解读: 1. **EJB (Enterprise JavaBeans)**:EJB是Java ...

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

    【数据库管理与开发项目教程-教】:本教程聚焦于使用T-SQL查询数据库表数据,特别是关于分类汇总的操作。T-SQL(Transact-SQL)是SQL Server中用于管理和处理数据库的标准编程语言,它是SQL的扩展,包含了数据定义、...

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

    - **分类汇总**:案例按照不同的类别进行汇总,便于读者查找和学习。 #### 7. 错误观念纠正与深入思考 - **常见误区**:纠正读者在SQL优化过程中可能存在的错误观念。 - **颠覆传统观点**:挑战一些传统的优化方法...

    经典SQL脚本大全

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

    地区分类SQL文件

    本文件“地区分类SQL文件”提供了一个详尽的三级地区分类,这意味着它可能包含了国家、省份/州、城市这样的层次结构,便于在数据库中高效存储和查询地区信息。 SQL(Structured Query Language)是用于管理和处理...

    SQL语句大汇总

    1. **SQL分类**: - **DDL(Data Definition Language)**:数据定义语言,主要用于创建和修改数据库结构。包括CREATE(创建)、ALTER(修改)、DROP(删除)和DECLARE(声明)等语句。 - **DML(Data ...

    sql命令汇总

    接下来,我们将详细解释这些分类下的命令及其用途。 ### 数据操作 - **SELECT**:用于从数据库表中检索数据行和列。例如: ```sql SELECT * FROM stock_information WHERE stockID = '123'; ``` 这条命令将从`...

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

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

Global site tag (gtag.js) - Google Analytics