[ https://issues.apache.org/jira/browse/CALCITE-5000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17490753#comment-17490753 ]
Xurenhe commented on CALCITE-5000: ---------------------------------- As [~nobigo] suggested, I add some common functions, which could be simplified by grouping. {code:java} -- group by x sum(x) => x count(x) => case when x is not null then 1 else 0 avg(x) => x max(x) => x min(x) => x sum0(x) => coalesce(x, 0) any_value(x) => x {code} > Expand rule of `AGGREGATE_REDUCE_FUNCTIONS`Expand > `AGGREGATE_REDUCE_FUNCTIONS`, when arg of agg-call is in the aggregate's group > -------------------------------------------------------------------------------------------------------------------------------- > > Key: CALCITE-5000 > URL: https://issues.apache.org/jira/browse/CALCITE-5000 > Project: Calcite > Issue Type: Improvement > Reporter: Xurenhe > Assignee: Xurenhe > Priority: Major > Labels: pull-request-available > Time Spent: 1h > Remaining Estimate: 0h > > Using calcite's SubstitutionVisitor, we need do a lot work about > canonicalizing relnode. > Some sql should be simplified. > {noformat} > -- origin sql > select deptno, salary, max(salary), min(commission) > from emps > group by deptno, salary > -- simplified > select deptno, salary, salary as expr, min(commission) > from emps > group by deptno, salary{noformat} > It should be simplified, but I didn't find any rule to simplify it. > This issue is related to CALCITE-4857 -- This message was sent by Atlassian Jira (v8.20.1#820001)