多级别分组的聚合和函数

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 分组小计加以区分。

这些函数通常与多级别聚合一起使用。