seawinde opened a new pull request, #36318:
URL: https://github.com/apache/doris/pull/36318

   ## Proposed changes
   
   This extend the query rewrite by materialized view ability
   For example mv def is
   >            CREATE MATERIALIZED VIEW mv1
   >             BUILD IMMEDIATE REFRESH COMPLETE ON MANUAL
   >             DISTRIBUTED BY RANDOM BUCKETS 2
   >             PROPERTIES ('replication_num' = '1') 
   >             AS
   >              select
   >              count(o_totalprice),
   >              o_shippriority,
   >              o_orderstatus,
   >              bin(o_orderkey)
   >              from orders
   >              group by
   >              o_orderstatus,
   >              o_shippriority,
   >              bin(o_orderkey);
   
   the query as following can be rewritten by materialized view successfully
   though `sum(distinct o_shippriority)` in query is not appear in mv output, 
but query aggregate function is distinct and it use
   the group by dimension in mv, in this scene,  the `sum(distinct 
o_shippriority)` can use mv group dimension `o_shippriority`
   directly and the result is true.
   
   Suppport the following distinct aggregate function currently, others are 
supported in the furture on demand
   
   - max(distinct arg)
   - min(distinct arg)
   - sum(distinct arg)
   - avg(distinct arg)
   - count(distinct arg)
   
   >             select 
   >             count(o_totalprice),
   >              max(distinct o_shippriority),
   >              min(distinct o_shippriority),
   >              avg(distinct o_shippriority),
   >              sum(distinct o_shippriority) / count(distinct o_shippriority)
   >              o_orderstatus,
   >              bin(o_orderkey)
   >              from orders
    >             group by
    >             o_orderstatus,
    >             bin(o_orderkey);
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to