[ 
https://issues.apache.org/jira/browse/CALCITE-512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240300#comment-14240300
 ] 

Julian Hyde commented on CALCITE-512:
-------------------------------------

Here's an example of multiple expressions:

{code:sql}
select deptno, gender, grouping_id(deptno, gender, deptno), count(*)
from emp
group by cube(gender, deptno)
{code}

If a row represents a rollup of {{deptno}} but not {{gender}} then 
{{grouping_id(deptno, gender, deptno)}} evaluates to 5 (binary 101).

> Add GROUP_ID and GROUPING_ID functions
> --------------------------------------
>
>                 Key: CALCITE-512
>                 URL: https://issues.apache.org/jira/browse/CALCITE-512
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to