多级别分组的聚合和函数
Vertica 提供了在多个级别对 GROUP BY 查询的结果进行分组的几个聚合和函数。
用于多级别分组的聚合
使用以下聚合进行多级别分组:
-
ROLLUP
会自动执行小计聚合。ROLLUP 会在不同级别跨多个维度执行一个或多个聚合。 -
CUBE
会对您指定的 CUBE 表达式的所有排列执行聚合。 -
GROUPING SETS
允许您指定所需的聚合分组。
您可以在 GROUPING SETS 表达式内使用 CUBE 或 ROLLUP 表达式。否则,您不能嵌套多级别聚合表达式。
分组函数
您可以使用具有 ROLLUP、CUBE 和 GROUPING SETS 的以下三个分组函数中的一个:
-
GROUP_ID 会返回一个或多个以零 (0) 开头的数字来唯一确定重复集。
-
GROUPING_ID 会为每个分组组合生成唯一 ID。
-
GROUPING 会为每个分组组合确定列是否是此分组的一部分。此函数也会将数据中的 NULL 值与 NULL 分组小计加以区分。
这些函数通常与多级别聚合一起使用。