Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Implement GROUP_ID and GROUPING_ID(expr [, expr]...) functions, as they are defined in Oracle.
We already have, as of CALCITE-370, the GROUPING(expr) function. Now define GROUPING_ID:
GROUPING_ID(e2, e1, e0)
== GROUPING(e2) * 4
+ GROUPING(e1) * 2
+ GROUPING(e0)
and similarly for different numbers of arguments.
GROUP_ID() is equivalent to GROUPING_ID(x, y, z), where x, y, z are the expressions being grouped.