with rollup与 with cube 学习笔记

测试语句:

 1 USE [AIS20140113215649]
 2 GO
 3 /****** Object:  Table [dbo].[t_studet]    Script Date: 10/29/2014 16:35:48 ******/
 4 SET ANSI_NULLS ON
 5 GO
 6 SET QUOTED_IDENTIFIER ON
 7 GO
 8 if exists (select * from sysobjects where xtype=‘U‘ and name = ‘t_studet‘)
 9 drop table t_studet
10 GO
11 CREATE TABLE [dbo].[t_studet](
12     [ID] [int] NOT NULL,
13     [sex] [nchar](10) NOT NULL,
14     [class] [nchar](10) NOT NULL,
15     [score] [int] NOT NULL,
16  CONSTRAINT [PK_t_studet] PRIMARY KEY CLUSTERED
17 (
18     [ID] ASC
19 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,
20        ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
21 ) ON [PRIMARY]
22 GO
23
24 select * from t_studet;
25
26 insert into t_studet values(1,‘男‘,‘二年级‘,1);
27 insert into t_studet values(2,‘男‘,‘三年级‘,4);
28 insert into t_studet values(3,‘女‘,‘二年级‘,10);
29 insert into t_studet values(4,‘女‘,‘三年级‘,16);

查询结果分析

1 ----明细查询
2 select * from t_studet;

ID          sex        class      score
----------- ---------- ---------- -----------
1           男          二年级        1
2           男          三年级        4
3           女          二年级        10
4           女          三年级        16

----分组查询
select sex,class,COUNT(ID),SUM(score) from t_studet
group by sex,class;

sex        class                 
---------- ---------- ----------- -----------
男          二年级        1           1
女          二年级        1           10
男          三年级        1           4
女          三年级        1           16

----分组查询并合计
select class,sex,COUNT(ID),SUM(score) from t_studet
group by class,sex
with rollup;

class      sex                   
---------- ---------- ----------- -----------
二年级        男          1           1
二年级        女          1           10
二年级        NULL       2           11
三年级        男          1           4
三年级        女          1           16
三年级        NULL       2           20
NULL       NULL       4           31

----分组查询并合计,标记合计列
select
       case when(grouping(sex)=1 and grouping(class)=1) then ‘总计‘ else class end,
       case
            when(grouping(sex)=1 and grouping(class)=0) then ‘小计‘
            when(grouping(sex)=1 and grouping(class)=1) then ‘‘
            else sex
       end,
       COUNT(ID),SUM(score)
from t_studet
group by class,sex
with rollup;
-------------左连接式的小计

----grouping(class)=0 代表 有数据
----grouping(class)=1 代表 无数据

---------- ---------- ----------- -----------
二年级        男          1           1
二年级        女          1           10
二年级        小计         2           11
三年级        男          1           4
三年级        女          1           16
三年级        小计         2           20
总计                    4           31

 1 ----分组查询并合计,标记合计列,使用条件过滤
 2 select
 3        case when(grouping(sex)=1 and grouping(class)=1) then ‘总计‘ else class end,
 4        case
 5             when(grouping(sex)=1 and grouping(class)=0) then ‘小计‘
 6             when(grouping(sex)=1 and grouping(class)=1) then ‘‘
 7             else sex
 8        end,
 9        COUNT(ID),SUM(score)
10 from t_studet
11 group by class,sex
12 with rollup having (grouping(sex)=0 and grouping(class)=0)

---------- ---------- ----------- -----------
二年级        男          1           1
二年级        女          1           10
三年级        男          1           4
三年级        女          1           16

select class,sex,COUNT(ID),SUM(score)
from t_studet
group by sex,class with cube 

-------------全连接式的小计

class      sex                   
---------- ---------- ----------- -----------
二年级        男          1           1
二年级        女          1           10
二年级        NULL       2           11
三年级        男          1           4
三年级        女          1           16
三年级        NULL       2           20
NULL       NULL       4           31
NULL       男          2           5
NULL       女          2           26

时间: 2024-08-01 03:53:00

with rollup与 with cube 学习笔记的相关文章

(转)【D3D11游戏编程】学习笔记二十三:Cube Mapping进阶之动态环境图

(注:[D3D11游戏编程]学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 在前面两篇介绍Cube Mapping的文章中,我们所使用到的Cube Map都是事先制作好的,这样的一个好处就是运行时效率很高,适合于大多数情形.但如果对于即时动态变化的场景来说,依靠静态图来实现反射效果就不再适用了.因为在不同时刻,一个物体周围的场景是不断变化的,想要把这些变化在物表的反射中体现出来,就需要一张动态的环境图. 1.C

(转)【D3D11游戏编程】学习笔记二十一:Cube Mapping及其应用之一:天空盒的实现

(注:[D3D11游戏编程]学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 这一节讨论有关纹理映射的进阶内容:Cube Mapping. 1. 简介 单从名字上,就大概可以看出点端倪了,翻译成中文为立方体映射,因此肯定跟立方体有关系.确实,Cube Mapping就是使用六张正方形的图片来进行纹理映射的.这六张图片分别对应了一个立方体中的六个面.由于这个立方体是轴对齐的,因此每个面可以用坐标系中的六个轴方向来惟

<老友记>学习笔记

这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的情路坎坷,事业成败和生活中的喜怒哀乐,无时无刻不牵动着彼此的心,而正是正平凡的点点滴滴,却成为最令人感动与留恋的东西. 人物:1.瑞秋•格林(RACHEL GREENE)由珍妮佛•安妮斯顿(Jennifer Aniston)扮演 瑞秋是莫妮卡的高中同学,在与牙医未婚夫的婚礼上脱逃至莫妮卡处. 2.罗

C51学习笔记

转自:http://blog.csdn.net/gongyuan073/article/details/7856878 单片机C51学习笔记 一,   C51内存结构深度剖析 二,   reg51.头文件剖析 三,   浅淡变量类型及其作用域 四,   C51常用头文件 五,   浅谈中断 六,   C51编译器的限制 七,                        小淡C51指针 八,                        预处理命令                        

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce

【Unity Shaders】学习笔记——SurfaceShader(十一)光照模型

[Unity Shaders]学习笔记——SurfaceShader(十一)光照模型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5664792.html 如果你想从零开始学习Unity Shader,那么你可以看看本系列的文章入门,你只需要稍微有点编程的概念就可以. 水平有限,难免有谬误之处,望指出. LitSphere(Matcap) 发光球体光照模型就是将发光球体的纹理映射在球体上,来实现光照效果.这可以创造一些效果细腻的发光球体效果,但是它不受

OpenGL学习笔记3 —— 绘制3D物体、鼠标交互、反向变换

/* reference http://nehe.gamedev.net/article/using_gluunproject/16013/ */ #include <windows.h> // windows系统要加这个.因为下面2个头文件的一些宏是在这个文件中定义的 #include <gl/Gl.h> #include <gl/glut.h> //这两个头文件在OpenGL程序中几乎必加. #include <cstdio> //标准输入输出,用来打印

蛋哥的学习笔记之-基于Unity的Shader编程:X-1 音乐水波特效

蛋哥的学习笔记之-基于Unity的Shader编程:X-1 音乐水波特效 热度 13728 2015-7-11 23:34 |个人分类:蛋哥的学习笔记之-基于Unity的Shader编程| 音乐, Unity, Shader, 水波, Shader, Shader, Shader, Shader 一.要干些啥: 很久很久没有写文档了,前段时间做了个个人很喜欢的,自认为比较原创的小特效,所以写个文档纪念下(本人特别喜欢音乐) 思路其实很简单,首先用顶点着色器实现一般的水波特效,然后解析音频数据(我