MAPREDUCE服务 MRS-Hive支持的传统关系型数据库语法说明:Grouping

时间:2024-10-16 17:58:31

Grouping

语法简介:

  • group by语句带with rollup/cube选项时,Grouping才有意义。
  • CUBE生成的结果集显示了所选列中值的所有组合的聚合。
  • ROLLUP生成的结果集显示了所选列中值的某一层次结构的聚合。
  • Grouping:当用CUBE或ROLLUP运算符添加行时,附加的列输出值为1;当所添加的行不是由CUBE或ROLLUP产生时,附加列值为0。

例如,Hive中有一张表“table_test”,表结构如下所示:

+----------------+-------------------+--+
| table_test.id  | table_test.value  |
+----------------+-------------------+--+
| 1              | 10                |
| 1              | 15                |
| 2              | 20                |
| 2              | 5                 |
| 2              | 13                |
+----------------+-------------------+--+

执行如下语句:

select id,grouping(id),sum(value) from table_test group by id with rollup;

得到如下结果:

+-------+-----------------+------+--+
|  id   | groupingresult  | sum  |
+-------+-----------------+------+--+
| 1     | 0               | 25   |
| NULL  | 1               | 63   |
| 2     | 0               | 38   |
+-------+-----------------+------+--+
support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_0962.html