sql grouping用法

转载 2012年03月22日 21:12:23
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

SQL grouping sets 子句

grouping sets子句允许你指定多个group by 选项。增强了group by 的功能。 可以通过一条select 语句实现复杂繁琐的多条select 语句的查询。并且更加的 高效,解...
  • houzhizhen
  • houzhizhen
  • 2016年12月22日 18:27
  • 828

SQL Server的Grouping函數用法個人解讀

Grouping 這個函數在SQL SERVER中是從2005版本才開始支持的。其功能抽象地說就是“分級彙總”。只有 Group by 語句帶with rollup/cute 選項時,Grouping...
  • Benjayming
  • Benjayming
  • 2013年10月16日 23:46
  • 2923

SQL Server中函数GROUPING的用法

来自Sql Server联机帮助 USE AdventureWorks; GO SELECT SalesQuota, SUM(SalesYTD) TotalSalesYTD, GROUPING(Sal...
  • xiaoliangaccp
  • xiaoliangaccp
  • 2010年03月19日 13:09
  • 3677

SQL Server 中的group by, rollup 和 grouping关键字的用法

GROUP BY groups the result set into summary rows by provided columns. For example, consider below da...
  • OnlyQi
  • OnlyQi
  • 2013年09月18日 10:20
  • 1371

Oracle分组ROLLUP、GROUP BY、GROUPING、GROUPING SETS区别和作用

1.ROLLUPROLLUP的作用相当于SQL> set autotrace on SQL> select department_id,job_id,count(*) from employe...
  • mlljava1111
  • mlljava1111
  • 2016年01月21日 21:10
  • 466

SQL 中ROLLUP、CUBE的用法和区别

SQL 中ROLLUP 用法 ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。 下面是 CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的...
  • shenqingkeji
  • shenqingkeji
  • 2016年10月19日 16:39
  • 1685

深入理解SQL的十个步骤

很多程序员认为SQL十分令人讨厌,作为现存为数不多的声明式语言之一,SQL表现得与一些命令式语言(注:基于动作的语言,机器语言及汇编语言是最早的命令式语言,也称为过程式语言,Fortran、C、Ada...
  • sinat_32582203
  • sinat_32582203
  • 2016年08月20日 10:12
  • 1985

GROUP BY,HAVING ,With ROLLUP, With CUBE组合查询大总结

转载自 http://www.cnblogs.com/changxiangyi/archive/2011/07/25/2116479.html 一、GROUP BY的理解   GRO...
  • dantegarden
  • dantegarden
  • 2017年01月23日 11:44
  • 514

oracle统计sql的使用之grouping_id

一、先看sql示例 select u.group_num,u.area_name,--grouping(u.area_name), sum(decode(u.bm,'联想 (Lenovo)A396...
  • meandmyself
  • meandmyself
  • 2015年07月07日 15:56
  • 789

GROUPING函数

GROUPING函数            GROUPING函数既可以与CUBE操作一起使用, 也可以与ROLLUP操作一起使用, 它能帮助你理解概要值是怎样产生的。            GRO...
  • u013053796
  • u013053796
  • 2014年01月21日 19:20
  • 1006
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql grouping用法
举报原因:
原因补充:

(最多只允许输入30个字)