GROUPING amp; GROUPING_ID amp; GROUP_ID amp; GROUPING SETS
一、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相关推荐
- 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列. 如果使 ...
- 剑破冰山:Oracle开发艺术(目录)
基本信息 作者: 卢涛 梁敬彬 王保强 怀晓明 贾书民 丛书名: ITPUB技术丛书 出版社:电子工业出版社 ISBN:9787121120756 上架时间:2010-11-2 ...
- oracle group by 两项,Oracle中group by 的扩展函数rollup、cube、grouping sets
Oracle的group by除了基本使用方法以外,还有3种扩展使用方法,各自是rollup.cube.grouping sets.分别介绍例如以下: 1.rollup 对数据库表emp.如果当中两个 ...
- 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 ...
- 大数据之hive:hive新功能之GROUPING SETS,Cube, Rollup
目录 一.GROUPING SETS 1.概述 2.实战 二.Cube 1.概述 2.实战 三.Rollup 1.概述 2.实战 四.Grouping_ID函数 一.GROUPING SETS 1.概 ...
- Hive之grouping sets用法详解
目录 关键字: 简单示例: 实例一: presto中grouping sets函数 关键字: GROUPING SETS: 根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UN ...
- SQL SERVER 关于with cube ,with rollup 和 grouping sets、group by
GROUPING 运算符 with cube with rollup grouping sets with cube cube运算符在 SELECT 语句的 GROUP BY 子句中指定.该语句的选择 ...
- 深入理解 SQL 中的 Grouping Sets 语句
前言 SQL 中 Group By 语句大家都很熟悉,根据指定的规则对数据进行分组,常常和聚合函数一起使用. 比如,考虑有表 dealer,表中数据如下: id (Int) city (String) ...
- oracle 分析函数、GROUPING函数
分析函数 over(Partition by...) 一个超级牛皮的ORACLE特有函数.天天都用ORACLE,用了快2年了.最近才接触到这个功能强大而灵活的函数.真实惭愧啊!oracle的分析函数o ...
最新文章
- Python 包管理工具解惑
- ROSE 好的参考资料 http://topic.csdn.net/t/20020716/14/878323.html
- git status清空_Git常见命令和遇到问题的解决办法
- 自定义控件的子控件支持设计模式
- 鹅厂是如何使用 Git 的?看这!
- 写1行代码影响1000000000人,这是个什么项目?
- linux 备份文件
- selenium python grid
- DeepStream3必须安装Video_Codec_SDK9
- 数据中心安全及应对策略
- 社交系统中用户好友关系数据库设计
- GoogleAnalytics文档
- jpg格式怎么转换成plt格式的_一种JPG图像到PLT文件的转化方法.pdf
- AUTOCAD圆角半径过大问题的思考和计算
- 网易新版BLOG邀请,有需要的朋友进。
- 图像降噪(去噪)是什么原理?
- ③读后感之《异类不一样的成功启示录》格拉德威尔
- date.gettime()返回的是什么?
- 如何使用TPC-DS生成测试数据并导入MySQL
- Ubuntu下Matlab在线安装
热门文章
- 关于SQL数据库中的数据到如何导出--SQL2000导入到SQL2008中
- C++_-数据类型-字符型_转义字符_字符串类型--C++语言工作笔记012
- ES6新特性_浏览器中使用ES6模块化的另一种方式--JavaScript_ECMAScript_ES6-ES11新特性工作笔记044
- face 5k far landmark164 result
- 小程序-读取视频数据 每个N帧采样保存
- 2011浙大878计算机专业基础扫描版真题
- python中下拉菜单大小_请问各位大神如何将下拉菜单的文字设定成一个值?
- java中criteria类_java – Criteria API:按类类型过滤
- 3d激光雷达开发(多雷达标定)
- pagehelper自定义 count sql_Spring Boot 2.x(十三):你不知道的PageHelper