1.grouping sets

grouping sets子句都可以根据UNION连接的多个GROUP BY查询进行逻辑表示

SELECT a,b,SUM(c)FROM tab1 GROUP BY a,b GROUPING SETS((a,b),a,b,())

等价于

SELECT a,b,SUM(c)FROM tab1 GROUP BY a,b
union
SELECT a,null,SUM(c)FROM tab1 GROUP BY a,null
union
SELECT null,b,SUM(c)FROM tab1 GROUP BY null,b
union
SELECT null,null,SUM(c)FROM tab1

2.GROUPING__ID

注意是两个下划线相连,说明聚合结果是属于(grouping sets)哪一个子集的的。

SELECT key, value, GROUPING__ID,count(*)
FROM T1
GROUP BY key, value
GROUPING SETS((key,value),key,value)
; 等价于 SELECT key, value,1,count(*) -- 属于第1个GROUPING SETS子集,即(key,value)
FROM T1
GROUP BY key, value
union
SELECT key, NULL,2,count(*) -- 属于第2个GROUPING SETS子集,即key
FROM T1
GROUP BY key
union
SELECT NULL, value,3,count(*) -- 属于第3个GROUPING SETS子集,即value
FROM T1
GROUP BY value

3.WITH CUBE

CUBE是是group by字段的所有组合

GROUP BY a,b,c WITH CUBE

等同于

GROUP BY a,b,c GROUPING SETS((a,b,c),(a,b),(b,c), (a,c),(a),(b),(c),())

4.WITH ROLLUP

ROLLUP子句与GROUP BY一起用于计算维度的层次结构级别的聚合。

GROUP BY a,b,c,WITH ROLLUP

等同于

GROUP BY a,b,c GROUPING SETS((a,b,c),(a,b),(a),())

官网文档

最新文章

  1. C++实现DNS域名解析
  2. js定位
  3. C# NPOI导出Excel和EPPlus导出Excel比较
  4. win7 备份错误解决
  5. .NET 反射的使用
  6. poj 2007 Scrambled Polygon(极角排序)
  7. Linux c 下使用getopt()函数
  8. WPA/WAP2wifi 密码破解笔记
  9. Objective-C中的封装、继承、多态、分类
  10. Maintainable HashCode and Equals Using Apache Commons
  11. C语言中对于结构的定义一般放在.h中还是.c中
  12. Memcached源代码分析 - Memcached源代码分析之消息回应(3)
  13. SpringMVC DispatcherServlet在配置Rest url-pattern的一点技巧
  14. nginx rewrite (转发)
  15. HttpWebRequest 自定义header,Post发送请求,请求形式是json,坑爹的代码
  16. Web 前端怎样入门?(转)
  17. ExtJS动态设置表头
  18. 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法
  19. SPOJ 74. Divisor Summation 分解数字的因子
  20. SQL语句主要的分类

热门文章

  1. rocketmq延时消息
  2. 安装Docker时错误提示 "could not change group /var/run/docker.sock to docker: group docker not found"的解决方案
  3. 字符串转数字练习--String to Integer (atoi)
  4. ubunru18.04下面安装docker
  5. 随心测试_软测基础_006<测试人职业发展>
  6. 转载:img是什么元素?置换元素?
  7. iOS CATransition 自定义转场动画
  8. Django(八)下:Model操作和Form操作、序列化操作
  9. 电脑突然使用不了复制粘贴快捷键,Ctrl+C和Ctrl+V没用
  10. 时间插件datepicker(jQuery-UI,bootstrap)和jquery-steps的冲突解决。。。