数据湖探索 DLI-SELECT:Grouping sets, Rollup, Cube

时间:2023-11-10 09:20:51

Grouping sets, Rollup, Cube

功能描述

  • GROUPING SETS 的 GROUP BY 子句可以生成一个等效于由多个简单 GROUP BY 子句的 UNION ALL 生成的结果集,并且其效率比 GROUP BY 要高。
  • ROLLUP与CUBE按一定的规则产生多种分组,然后按各种分组统计数据。
  • CUBE生成的结果集显示了所选列中值的所有组合的聚合。
  • Rollup生成的结果集显示了所选列中值的某一层次结构的聚合。
语法格式
SELECT [ ALL | DISTINCT ]   { * | projectItem [, projectItem ]* }
  FROM tableExpression
  [ WHERE booleanExpression ]
  [ GROUP BY groupingItem]

语法说明

groupingItem:是Grouping sets(columnName [, columnName]*)、Rollup(columnName [, columnName]*)、Cube(columnName [, columnName]*)

注意事项

示例

分别产生基于user和product的结果

INSERT INTO temp SELECT SUM(amount)
FROM Orders
GROUP BY GROUPING SETS ((user), (product));
support.huaweicloud.com/sqlref-flink-dli/dli_08_0417.html