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

Carter Shanklin commented on HIVE-15996:
----------------------------------------

[~julianhyde] I don't think so, GROUP_ID seems to depend on the input data (I'm 
no Oracle expert to be fair here) while this is converting the bitmasks to 
numbers.

So i could select all of grouping(c1, c2, c3); grouping(c1, c3) and 
grouping(c2, c3) with different numbers per row whereas GROUP_ID doesn't seem 
to take any arguments.

> Implement multiargument GROUPING function
> -----------------------------------------
>
>                 Key: HIVE-15996
>                 URL: https://issues.apache.org/jira/browse/HIVE-15996
>             Project: Hive
>          Issue Type: New Feature
>    Affects Versions: 2.2.0
>            Reporter: Carter Shanklin
>            Assignee: Jesus Camacho Rodriguez
>
> Per the SQL standard section 6.9:
> GROUPING ( CR1, ..., CRN-1, CRN )
> is equivalent to:
> CAST ( ( 2 * GROUPING ( CR1, ..., CRN-1 ) + GROUPING ( CRN ) ) AS IDT )
> So for example:
> select c1, c2, c3, grouping(c1, c2, c3) from e011_02 group by rollup(c1, c2, 
> c3);
> Should be allowed and equivalent to:
> select c1, c2, c3, 4*grouping(c1) + 2*grouping(c2) + grouping(c3) from 
> e011_02 group by rollup(c1, c2, c3);



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to