学习 Hive(十二):分组集

栏目: 服务器 · 发布时间: 7年前

内容简介:分组集(Grouping Sets)实现了在一条 GROUP BY 语句多次 GROUP BY 操作。:point_up_2: 的 SQL 语句:point_up_2: 的 SQL 语句

分组集

分组集(Grouping Sets)实现了在一条 GROUP BY 语句多次 GROUP BY 操作。

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

:point_up_2: 的 SQL 语句 (a, b) 是一个分组集,其等价于

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

:point_up_2: 的 SQL 语句 ab 是两个分组集,相当于将两个 GROUP BY 通过 UNION 合并,其等价于:

SELECT  
  a,
  null,
  SUM(c)
FROM t1  
GROUP BY a  
UNION  
SELECT  
  null,
  b,
  SUM(c)
FROM t1  
GROUP BY b

ROLLUP

上卷(Roll Up)也是一类分组集,按着分组条件逐层上卷,例如: GROUP BY a, b, c WITH ROLLUP 相当于 GROUP BY a, b, c GROUPING SETS((a, b, c), (a, b), (a), ())

CUBE

数据立方体(Cube)也是一类分组集,按着分组条件生成 2 的 n 次方种分组集组合,例如: GROUP BY a, b, c WITH CUBE 相当于 GROUP BY a, b, c GROUPING SETS((a, b, c), (a, b), (a, c), (b, c), (a), (b), (c), ())

GROUPING FUNCTION

grouping 函数可以用于查看分组集中的列是否参与了 GROUP BY 聚合,如果值为 0 则表示有,如果值为 1 则表示没有。

参考


以上所述就是小编给大家介绍的《学习 Hive(十二):分组集》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C语言程序设计

C语言程序设计

K. N. King / 吕秀锋、黄倩 / 人民邮电出版社 / 2010-4 / 79.00元

时至今日, C语言仍然是计算机领域的通用语言之一,但今天的 C语言已经和最初的时候大不相同了。本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强调标准 C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了 C99标准,并与 C89标准进行对照,补充了 C99中的最新特性。本书分为 C语言的基础特性、 C语言的高级特性、 C语言标准库和参考资料 4个部分。每章末尾都有一个“问与......一起来看看 《C语言程序设计》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具