Jiajun Xie created CALCITE-6214:
-----------------------------------
Summary: Remove `DISTINCT` in `COUNT` if field is unique
Key: CALCITE-6214
URL: https://issues.apache.org/jira/browse/CALCITE-6214
Project: Calcite
Issue Type: Improvement
Components: core
Reporter: Jiajun Xie
Assignee: Jiajun Xie
For the sql
{code:java}
select count(distinct x) cnt
from(
select distinct sal x from emp
) t {code}
The distinct that in count can be removed.
{code:java}
LogicalAggregate(group=[{}], CNT=[COUNT($0)])
LogicalAggregate(group=[{0}])
LogicalProject(X=[$5])
LogicalTableScan(table=[[CATALOG, SALES, EMP]]) {code}
But `CoreRules#AGGREGATE_REMOVE` not support it, so there are two DISTINCT.
{code:java}
LogicalAggregate(group=[{}], CNT=[COUNT(DISTINCT $0)])
LogicalAggregate(group=[{0}])
LogicalProject(X=[$5])
LogicalTableScan(table=[[CATALOG, SALES, EMP]]) {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)