rollup

SELECT employee_id,department_id,job_id,SUM(salary)

FROM   employees

WHERE  department_id <60

GROUP  BY ROLLUP (department_id,job_id,employee_id);

 执行n+1次分组然后union,顺序是employee_id;job_id;department_id;空一共四次(从右至左每次以一个分组最后不分组求一次总和)

nothing

SELECT employee_id,department_id,job_id,SUM(salary)

FROM   employees

WHERE  department_id <60

GROUP  BY department_id,job_id,employee_id;

按顺序检测,先按department_id分组计算然后一个部门的然后这个部门内job_id分组计算一次然后employee_id再分组计算一次,然后接着下一个部门分组……..执行下去 注:每次三个都同时被gruoping了

cube

SELECT employee_id,department_id,job_id,SUM(salary)

FROM   employees

WHERE  department_id <60

GROUP  BY CUBE (department_id,job_id,employee_id);

执行2的n次方次分组计算,排列组合;一般用的时候都带order by排序确定谁先显示

Grouping

以使用Grouping 函数; 没有被Grouping到返回1,否则返回0

SELECT employee_id,department_id,job_id,SUM(salary),GROUPING(employee_id),GROUPING(department_id),GROUPING(job_id)

FROM employees

WHERE department_id < 60

GROUP BY department_id,job_id,employee_id;

SELECT employee_id,department_id,job_id,SUM(salary),GROUPING(employee_id),GROUPING(department_id),GROUPING(job_id)

FROM employees

WHERE department_id < 60

GROUP BY ROLLUP (department_id,job_id,employee_id);

SELECT employee_id,department_id,job_id,SUM(salary),GROUPING(employee_id),GROUPING(department_id),GROUPING(job_id)

FROM employees

WHERE department_id < 60

GROUP BY CUBE (department_id,job_id,employee_id);

GROUPING SETS

使用Grouping Set 来代替多次UNION

SELECT department_id,job_id,manager_id,AVG(salary)

FROM   employees

GROUP  BY GROUPING SETS ((department_id,job_id),(job_id,manager_id));

相当于

SELECT department_id,job_id,manager_id,AVG(salary)

FROM   employees

GROUP  BY  (department_id,job_id);

UNION

SELECT department_id,job_id,manager_id,AVG(salary)

FROM   employees

GROUP  BY GROUPING SETS (job_id,manager_id);

sql group句子的更多相关文章

  1. SQL GROUP BY 语句

    合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...

  2. LINQ TO SQL ——Group by

    原文:LINQ TO SQL --Group by 分组在SQL中应用的十分普遍,在查询,统计时都有可能会用到它.LINQ TO SQL中同样具备group的功能,这篇我来讲下LINQ TO SQL中 ...

  3. SQL-W3School-函数:SQL GROUP BY 语句

    ylbtech-SQL-W3School-函数:SQL GROUP BY 语句 1.返回顶部 1. 合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROU ...

  4. [源码解析] GroupReduce,GroupCombine 和 Flink SQL group by

    [源码解析] GroupReduce,GroupCombine和Flink SQL group by 目录 [源码解析] GroupReduce,GroupCombine和Flink SQL grou ...

  5. SQL GROUP BY 中的TOP N

    一个示例表test(select * from test): id gid    age    username1 1      11     zhangsan2 1      13     zhan ...

  6. sql group by 理解

    order by是对字段进行排序,group by 是对字段进行分类,在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用组函数返回每一个组的汇总信息,另外,可以使用ha ...

  7. SQL group by分组查询(转)

    本文导读:在实际SQL应用中,经常需要进行分组聚合,即将查询对象按一定条件分组,然后对每一个组进行聚合分析.创建分组是通过GROUP BY子句实现的.与WHERE子句不同,GROUP BY子句用于归纳 ...

  8. C# Linq to SQL — Group by

    需求是需要统计数据库中表某一列的总数量,同时以List的形式返回到UI层. Linq to SQL中的Group by用法如下: IList<Unit.HandleCountClass> ...

  9. Linq to SQL -- Group By、Having和Exists、In、Any、All、Contains

    Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in ...

随机推荐

  1. k-d tree模板练习

    1. [BZOJ]1941: [Sdoi2010]Hide and Seek 题目大意:给出n个二维平面上的点,一个点的权值是它到其他点的最长距离减最短距离,距离为曼哈顿距离,求最小权值.(n< ...

  2. bzoj4830 hnoi2017 抛硬币

    题目描述 小 A 和小 B 是一对好朋友,他们经常一起愉快的玩耍.最近小 B 沉迷于**师手游,天天刷本,根本无心搞学习.但是已经入坑了几个月,却一次都没有抽到 SSR,让他非常怀疑人生.勤勉的小 A ...

  3. ●BZOJ 4361 isn

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4361 题解: 容斥,DP,树状数组 注意题意:一旦变成了非降序列,就停止操作.即对非降序列进 ...

  4. Codeforces #Round 406(Div.2)

    来自FallDream的博客,未经允许,请勿转载,谢谢. ------------------------------------------------------- 大家好,我是一个假人.在学习O ...

  5. javascript 手势(swipeLeft,swipeRight)滑动中使用css3动画卡顿,开启硬件加速

    今天,在做一个移动端项目,遇到了css3动画卡顿的现象. 例图: 在手势滑动中(swipeLeft,swipeRight)遇到了动画卡顿的现象,最后使用了css3动画-webkit-transform ...

  6. 《cocos2d-x游戏开发之旅》问题2016-10-7

    今天按书上做,遇到问题卡住了 书P115 项目是 littlerunner

  7. 【python教程01】 编辑器

    工欲善其事,必先利其器.学习python,首先应该安装好开发中使用的编辑器. 那么在这里说一下我们推荐的两款:sublime text  && pycharm   为什么推荐这两款编辑 ...

  8. Python3玩转儿 机器学习(4)

      jupyternotebook 的使用方法¶   最基本的使用¶ In [1]: 1+2 Out[1]: 3   菜单树¶   File¶ |------> New Notebook --- ...

  9. Axios 使用文档

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 使用实例:http://www.cnblogs.com/coolslider/p/7838309.ht ...

  10. pycharm 安装与基本设置

    一.下载及安装 打开官网下载:https://www.jetbrains.com/pycharm/download/#section=windows 下载完毕之后可直接双击可执行文件,然后点击&quo ...