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

Julian Hyde commented on CALCITE-5089:
--------------------------------------

I don't think there's any requirement to distinguish (say) 'GROUP BY ALL CUBE 
(a, b), ROLLUP (b, c)' from 'GROUP BY CUBE (a, b), ROLLUP (b, c)' since they 
mean exactly the same. And if the requirement ever arose, we could easily 
address it. But for now it's simpler not to.

> Allow GROUP BY ALL or DISTINCT set quantifier on GROUPING SETS
> --------------------------------------------------------------
>
>                 Key: CALCITE-5089
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5089
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.30.0
>         Environment: jdk8
>            Reporter: yanjing.wang
>            Assignee: yanjing.wang
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.31.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> GROUP BY DISTINCT will be used to remove duplicate GROUPING SETS, for example:
> {code:java}
> SELECT product_id, product_class_id, count(*) from product GROUP BY DISTINCT 
> CUBE (product_id, product_class_id), ROLLUP (product_id, 
> product_class_id){code}
> it's equivalent to 
> {code:java}
> SELECT product_id, product_class_id, count(*) from product GROUP BY GROUPING 
> SETS ((product_id, product_class_id), (product_id), (product_class_id), ()) 
> {code}
> GROUP BY ALL will remain the duplicate GROUPING SETS, it's equivalent to 
> GROUP BY, so most databases use ALL as the default set quantifier.
> As far as I know the PostgreSQL and Trino support this syntax.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to