[
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)