一、grouping()

函数必须接受一列且只能接受一列做为其参数。参数列值为空返回1,参数列值非空返回0。

二、grouping_id()函数

GROUPING_ID可以接收多个列,返回值为按参数排列顺序,依次对各个参数使用grouping()函数,并将结果值依次串成一串二进制数然后再转化为十进制所得到的值。

例如:grouping(A) = 0 ; grouping(B) = 1;  
    则:grouping_id(A,B) = (01) = 1;
            grouping_id(B,A) = (10) = 2;

例句:

SELECT DIVISION_ID,JOB_ID,GROUPING(DIVISION_ID) AS DIV_GRP,GROUPING(JOB_ID) AS JOB_GRP,GROUPING_ID(DIVISION_ID, JOB_ID) AS GRP_ID,SUM(SALARY)  FROM EMPLOYEES2GROUP BY CUBE(DIVISION_ID, JOB_ID)ORDER BY DIVISION_ID, JOB_ID;

三、GROUP_ID()函数

GROUP_ID函数可用于消除GROUP BY子句返回的重复记录。GROUP_ID()不接受任何参数。如果某个特定的分组重复出现n次,那么GROUP_ID()返回从0到n-1之间的一个整数。

例句:

SELECT DIVISION_ID, JOB_ID, GROUP_ID(), SUM(SALARY)FROM EMPLOYEESGROUP BY DIVISION_ID, ROLLUP(DIVISION_ID, JOB_ID);

四、GROUPING SETS

grouping sets 相当与将多个group by的分组条件合并,空的分组条件则是所有数据的总合计。

例句:

SELECT GROUPING_ID(S.PRODUCT, S.COUNTRY),GROUPING(PRODUCT),GROUPING(COUNTRY),PRODUCT,COUNTRY, SUM(SALES)FROM PLCH_SALES SGROUP BY GROUPING SETS((S.PRODUCT),(S.COUNTRY),());

GROUPING amp; GROUPING_ID amp; GROUP_ID amp; GROUPING SETS相关推荐

  1. oracle中的roll up,oracle  group by 与roll up,cube,grouping sets,grouping_id联合使用

    Oracle的group by除了基本用法以外,还有3种扩展用法,分别是rollup.cube.grouping sets. 1 rollup 假设有一个表test,有A.B.C.D.E5列. 如果使 ...

  2. 剑破冰山:Oracle开发艺术(目录)

    基本信息 作者: 卢涛    梁敬彬    王保强    怀晓明    贾书民 丛书名: ITPUB技术丛书 出版社:电子工业出版社 ISBN:9787121120756 上架时间:2010-11-2 ...

  3. oracle group by 两项,Oracle中group by 的扩展函数rollup、cube、grouping sets

    Oracle的group by除了基本使用方法以外,还有3种扩展使用方法,各自是rollup.cube.grouping sets.分别介绍例如以下: 1.rollup 对数据库表emp.如果当中两个 ...

  4. oracle 分组统计效率,Oracle 分组求和函数(rollup、cube、grouping sets)

    文章目录 1 场景 1.1 概念 1.2 思维导图 1.3 数据准备 2 知识点小结 2.1 group by 2.2 grouping sets:单独分组 2.3 rollup:累计累加 2.4 c ...

  5. 大数据之hive:hive新功能之GROUPING SETS,Cube, Rollup

    目录 一.GROUPING SETS 1.概述 2.实战 二.Cube 1.概述 2.实战 三.Rollup 1.概述 2.实战 四.Grouping_ID函数 一.GROUPING SETS 1.概 ...

  6. Hive之grouping sets用法详解

    目录 关键字: 简单示例: 实例一: presto中grouping sets函数 关键字: GROUPING SETS: 根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UN ...

  7. SQL SERVER 关于with cube ,with rollup 和 grouping sets、group by

    GROUPING 运算符 with cube with rollup grouping sets with cube cube运算符在 SELECT 语句的 GROUP BY 子句中指定.该语句的选择 ...

  8. 深入理解 SQL 中的 Grouping Sets 语句

    前言 SQL 中 Group By 语句大家都很熟悉,根据指定的规则对数据进行分组,常常和聚合函数一起使用. 比如,考虑有表 dealer,表中数据如下: id (Int) city (String) ...

  9. oracle 分析函数、GROUPING函数

    分析函数 over(Partition by...) 一个超级牛皮的ORACLE特有函数.天天都用ORACLE,用了快2年了.最近才接触到这个功能强大而灵活的函数.真实惭愧啊!oracle的分析函数o ...

最新文章

  1. Python 包管理工具解惑
  2. ROSE 好的参考资料 http://topic.csdn.net/t/20020716/14/878323.html
  3. git status清空_Git常见命令和遇到问题的解决办法
  4. 自定义控件的子控件支持设计模式
  5. 鹅厂是如何使用 Git 的?看这!
  6. 写1行代码影响1000000000人,这是个什么项目?
  7. linux 备份文件
  8. selenium python grid
  9. DeepStream3必须安装Video_Codec_SDK9
  10. 数据中心安全及应对策略
  11. 社交系统中用户好友关系数据库设计
  12. GoogleAnalytics文档
  13. jpg格式怎么转换成plt格式的_一种JPG图像到PLT文件的转化方法.pdf
  14. AUTOCAD圆角半径过大问题的思考和计算
  15. 网易新版BLOG邀请,有需要的朋友进。
  16. 图像降噪(去噪)是什么原理?
  17. ③读后感之《异类不一样的成功启示录》格拉德威尔
  18. date.gettime()返回的是什么?
  19. 如何使用TPC-DS生成测试数据并导入MySQL
  20. Ubuntu下Matlab在线安装

热门文章

  1. 关于SQL数据库中的数据到如何导出--SQL2000导入到SQL2008中
  2. C++_-数据类型-字符型_转义字符_字符串类型--C++语言工作笔记012
  3. ES6新特性_浏览器中使用ES6模块化的另一种方式--JavaScript_ECMAScript_ES6-ES11新特性工作笔记044
  4. face 5k far landmark164 result
  5. 小程序-读取视频数据 每个N帧采样保存
  6. 2011浙大878计算机专业基础扫描版真题
  7. python中下拉菜单大小_请问各位大神如何将下拉菜单的文字设定成一个值?
  8. java中criteria类_java – Criteria API:按类类型过滤
  9. 3d激光雷达开发(多雷达标定)
  10. pagehelper自定义 count sql_Spring Boot 2.x(十三):你不知道的PageHelper