rollup&&cube

时间:2022-09-09 17:19:56

group by 擴展 rollup&&cube

--按job分組計算不同job的匯總工資

  SELECT job, SUM (sal)
    FROM emp
GROUP BY job
ORDER BY job;

--向rollup傳遞一列

  SELECT job, SUM (sal)
    FROM emp
GROUP BY ROLLUP (job)
ORDER BY job;

rollup&&cube

--向rollup傳遞多列,根據job小計

  SELECT job, deptno, SUM (sal)
    FROM emp
GROUP BY ROLLUP (job, deptno)
ORDER BY job, deptno;

rollup&&cube

--修改傳遞給rollup的列的位置,根據部門小計

  SELECT deptno, job, SUM (sal)
    FROM emp
GROUP BY ROLLUP (deptno, job)
ORDER BY deptno, job;

rollup&&cube

--rollup與其它聚合函數使用,任何聚合函數都可以和rollup一起使用

  SELECT deptno, job, ROUND (AVG (sal), 2)
    FROM emp
GROUP BY ROLLUP (deptno, job)
ORDER BY deptno, job;

rollup&&cube

--使用cube子句

  SELECT deptno, job, SUM (sal)
    FROM emp
GROUP BY CUBE (deptno, job)
ORDER BY deptno, job;

rollup&&cube

--cube改變順序

  SELECT job, deptno, SUM (sal)
    FROM emp
GROUP BY CUBE (job, deptno)
ORDER BY job, deptno;

rollup&&cube

--grouping 返回0 1

  SELECT GROUPING (job), job, SUM (sal)
    FROM emp
GROUP BY ROLLUP (job)
ORDER BY job;

rollup&&cube

--轉換grouping返回值為有意義的值

  SELECT CASE GROUPING (job)
                   WHEN 1 THEN 'ALL JOBS'
                   ELSE job
              END AS job,
              SUM (sal)
    FROM emp
GROUP BY ROLLUP (job)
ORDER BY SUM (sal);

rollup&&cube

--grouping多列
  SELECT
  CASE GROUPING (deptno) WHEN 1 THEN  40 ELSE deptno END AS deptno,
  CASE GROUPING (job)      WHEN 1 THEN 'ALL JOBS'    ELSE job      END AS job,
         SUM (sal)
    FROM emp
GROUP BY ROLLUP (deptno,job)
ORDER BY deptno,job;

rollup&&cube

--cube與grouping一起使用
  SELECT
  CASE GROUPING (deptno) WHEN 1 THEN  40 ELSE deptno END AS deptno,
  CASE GROUPING (job)      WHEN 1 THEN 'ALL JOBS'    ELSE job      END AS job,
         SUM (sal)
    FROM emp
GROUP BY cube (deptno,job)
ORDER BY deptno,job;

rollup&&cube

--使用grouping sets只顯示小計結果
  SELECT deptno,job,
              SUM (sal)
    FROM emp
GROUP BY grouping sets (deptno,job)
ORDER BY deptno,job;

rollup&&cube

rollup&&cube的更多相关文章

  1. Oracle分析函数 — sum, rollup, cube, grouping用法

    本文通过例子展示sum, rollup, cube, grouping的用法. //首先建score表 create table score( class  nvarchar2(20), course ...

  2. SQL GROUP BY GROUPING SETS,ROLLUP,CUBE(需求举例)

    实现按照不同级别分组统计 关于GROUP BY 中的GROUPING SETS,ROLLUP,CUBE 从需求的角度理解会更加容易些. 需求举例: 假如一所学校只有两个系, 每个系有两个专业, 每个专 ...

  3. GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例

    oracle group by中rollup和cube的区别: Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句.CUBE ROLLUP 是用于统计数据的. 实验 ...

  4. [转]详解Oracle高级分组函数(ROLLUP, CUBE, GROUPING SETS)

    原文地址:http://blog.csdn.net/u014558001/article/details/42387929 本文主要讲解 ROLLUP, CUBE, GROUPING SETS的主要用 ...

  5. 高级聚合函数rollup(),cube(),grouping sets()

       rollup(),cube(),grouping sets()   上面这几个函数,是对group by分组功能做的功能扩展. a.rollup()   功能:在原结果基础上追加一行总合计记录 ...

  6. Oracle Group by+rollup+cube 的应用

    首先我们创建一个示例表: Create table test_group (v_name varchar2(4) ,v_size varchar2(4) ,v_color varchar2(4) ,n ...

  7. PLSQL_基础系列02_分组函数GROUP BY / ROLLUP / CUBE(案例)

    2014-11-30 Created By BaoXinjian

  8. oracle聚合函数及行专列,pivot rollup cube

    1.原始数据 --方法-: --以单位分组,计算每类特殊情况的合计以及按照单位的小计数 with a as (SELECT b.szfz, case  when tsqk is not null th ...

  9. SQLSERVER中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数

    SQLSERVER中的ALL.PERCENT.CUBE关键字.ROLLUP关键字和GROUPING函数 先来创建一个测试表 USE [tempdb] GO )) GO INSERT INTO [#te ...

随机推荐

  1. 【原创】Aspose.Words组件介绍及使用—基本介绍与DOM概述

           本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 本博客其他.NET开源项目文章目录:http://www.cnbl ...

  2. jquery版小型婚礼(可动态添加祝福语)

    前两天在网上不小心看到“js许愿墙”这几个字,我的神经就全部被调动了.然后就开始我的百度生涯,一直寻觅许愿墙背景图片和便利贴图片,觅了好久……一直没找到满意的……无意间看到祝福语和一些卡通婚礼图片.最 ...

  3. ios学习-制作一个浏览图片的Demo

    一.项目要求:制作一个浏览图片的Demo,要求包含夜间模式,以及改变图片大小,能够显示不同的图片描述 二.开发步骤: 1.在storyboard上添加一个空白的View,然后添加”设置“按钮,添加im ...

  4. loadrunner之C语言编程

    一.常量定义 #define COUNT 100            //定义全局常量#define SALARY 4000 Action(){    int total;    total = C ...

  5. Hive 自定义函数(转)

    Hive是一种构建在Hadoop上的数据仓库,Hive把SQL查询转换为一系列在Hadoop集群中运行的MapReduce作业,是MapReduce更高层次的抽象,不用编写具体的MapReduce方法 ...

  6. 使用STS 创建spring配置文件

    1.创建一个bean文件 2.输入文件名applicationContext.xml 3.这里会自动显示模板文件 4.创建后,自动填充头不定义 到这里就可以发现,我们创建spring文件时,需要的配置 ...

  7. MongoDB升级教程

    1.排序 sort()方法:其中 1 为升序排列,而-1是用于降序排列. db.col.find({},{"title":1,_id:0}).sort({"likes&q ...

  8. EF Oracle TNS 连接

    <oracle.manageddataaccess.client> <version number="*"> <settings> <se ...

  9. javascript基础知识笔记-自用

    笔记内容根据个人基础知识不足不明白之处做的记录.主要看的:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 1.变量,变量的名字又叫标识符 ...

  10. 测试思想-流程规范&&num;160&semi;SVN代码管理与版本控制

    SVN代码管理与版本控制 by:授客 QQ:1033553122   欢迎加入软件性能测试交流群(QQ群):7156436   目录 一. 二. 三. 四. 五. 六. 七. 一. 创建根目录 创建一 ...

相关文章