ScalaFirst opened a new issue, #59238:
URL: https://github.com/apache/doris/issues/59238

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Version
   
   3.1.3
   
   ### What's Wrong?
   
   <img width="1392" height="921" alt="Image" 
src="https://github.com/user-attachments/assets/07a6221e-28fe-4aed-b57d-9817b2a9e22c";
 />
   select based table will rewrite to first view,  but next view 
dwd_view_stat_engine_agg_hour_demension_normal_channel rewrite failed.
   
   BUT replace only table to view, rewrite will success soon.
   
   <img width="1387" height="813" alt="Image" 
src="https://github.com/user-attachments/assets/ad6fd997-72e0-48e1-9e0c-df6f2b0a402d";
 />
   
   I try to use session config 
   ```sql
   SET enable_materialized_view_nest_rewrite = true;
   ```
   
   BUT it is not useful.
   
   Query is:
   ```sql
   explain SELECT
     channel_placement_name,
     event_hour,
     channel_id,
     channel_placement_id,
     channel_name,
     pub_bid_floor_range,
     pub_bid_price_range,
     adv_bid_floor_range,
     adv_bid_price_range,
   ((SUM(`income`)/SUM(`ssp_forward_num`))*1000000) AS `sumrequ-83f`,
   SUM(`income`) AS `sum_income`,
   ((SUM(`income`)/SUM(`impr_num`))*1000) AS `suminco-4f4`,
   ((SUM(`earnings`)/SUM(`impr_num`))*1000) AS `suminco-5f8`,
   SUM(`earnings`) AS `sum_earnings`,
   SUM(`request_num`) AS `sumimpr-604`,
   SUM(`fill_num`) AS `sumimpr-850`,
   ((SUM(`fill_num`)/SUM(`request_num`))*100) AS `sumfill-233`,
   SUM(`impr_num`) AS `count`,
   ((SUM(`impr_num`)/SUM(`fill_num`))*100) AS `sumimpr-52a`,
   SUM(`click_num`) AS `sumimpr-c22`,
   ((SUM(`adv_bid_price`)/SUM(`ssp_fill_num`))/100) AS `sum_adv_bid_price`,
   (SUM(`income`)-SUM(`upstream_income`)) AS `sumearn-78f`,
   ((SUM(`income`)-SUM(`earnings`))-SUM(`upstream_income`)) AS `suminco-19e`,
   (1-(SUM(`earnings`)/SUM(`income`))) AS `suminco-1e0`
   FROM stat_engine
   -- FROM adx_stat.dwd_view_stat_engine_agg_hour_demension_normal
   where event_hour > '2025-12-21' and event_hour < '2025-12-22'
   GROUP BY 1,2,3,4,5,6,7,8,9
   ```
   
   
   
   ### What You Expected?
   
   select base table will rewrite to view by view
   
   ### How to Reproduce?
   
   view by view
   ```sql
   CREATE MATERIALIZED VIEW IF NOT EXISTS 
`dwd_view_stat_engine_agg_hour_demension_normal_channel` BUILD IMMEDIATE 
REFRESH AUTO ON COMMIT
   DUPLICATE KEY(`channel_placement_name`)
   PARTITION BY (event_hour)
   DISTRIBUTED BY HASH(`channel_placement_name`) BUCKETS AUTO
   PROPERTIES (
   "replication_allocation" = "tag.location.default: 1",
   "use_for_rewrite" = "true",
   "workload_group" = "scheduler_group"
   ) as 
   select
     channel_placement_name as channel_placement_name,
     event_hour,
     channel_id,
     channel_placement_id,
     channel_name,
     pub_bid_floor_range,
     pub_bid_price_range,
     adv_bid_floor_range,
     adv_bid_price_range,
     max(user_id) as user_id,
     max(user_name) as user_name,
     SUM(request_num) AS request_num,
     SUM(fill_num) AS fill_num,
     SUM(pub_bid_floor) AS pub_bid_floor,
     SUM(adv_bid_floor) AS adv_bid_floor,
     SUM(adv_bid_price) AS adv_bid_price,
     SUM(pub_bid_price) AS pub_bid_price,
     SUM(ssp_request_num) AS ssp_request_num,
     SUM(ssp_forward_num) AS ssp_forward_num,
     SUM(ssp_forbidden_num) AS ssp_forbidden_num,
     SUM(ssp_timeout_num) AS ssp_timeout_num,
     SUM(ssp_fill_num) AS ssp_fill_num,
     SUM(impr_num) AS impr_num,
     SUM(raw_impr_num) AS raw_impr_num,
     SUM(click_num) AS click_num,
     SUM(raw_click_num) AS raw_click_num,
     SUM(drop_click_num) AS drop_click_num,
     SUM(raw_drop_click_num) AS raw_drop_click_num,
     SUM(invoke_num) AS invoke_num,
     SUM(raw_invoke_num) AS raw_invoke_num,
     SUM(income) AS income,
     SUM(upstream_income) AS upstream_income,
     SUM(earnings) AS earnings,
     SUM(upstream_ratio) AS upstream_ratio,
     SUM(qh_invoke_num) AS qh_invoke_num,
     SUM(qh_dau_invoke_num) AS qh_dau_invoke_num,
     SUM(qh_no_client_cvr_num) AS qh_no_client_cvr_num,
     SUM(qh_delayed_attributed_purchase_num) AS 
qh_delayed_attributed_purchase_num,
     SUM(qh_delayed_unattributed_purchase_num) AS 
qh_delayed_unattributed_purchase_num,
     SUM(qh_no_delay_attributed_purchase_num) AS 
qh_no_delay_attributed_purchase_num,
     SUM(qh_no_delay_invoke_num) AS qh_no_delay_invoke_num,
     SUM(qh_client_cvr_attributed_purchase_num) AS 
qh_client_cvr_attributed_purchase_num,
     SUM(qh_flash_mac_num) AS qh_flash_mac_num,
     SUM(br_callback) AS br_callback,
     SUM(cvr79_num) AS cvr79_num,
     SUM(qh_flash110_num) AS qh_flash110_num
   from dwd_view_stat_engine_agg_hour_demension_normal
   group by 1,2,3,4,5,6,7,8,9
   ;
   ```
   
   query
   ```sql
   explain SELECT
     channel_placement_name,
     event_hour,
     channel_id,
     channel_placement_id,
     channel_name,
     pub_bid_floor_range,
     pub_bid_price_range,
     adv_bid_floor_range,
     adv_bid_price_range,
   ((SUM(`income`)/SUM(`ssp_forward_num`))*1000000) AS `sumrequ-83f`,
   SUM(`income`) AS `sum_income`,
   ((SUM(`income`)/SUM(`impr_num`))*1000) AS `suminco-4f4`,
   ((SUM(`earnings`)/SUM(`impr_num`))*1000) AS `suminco-5f8`,
   SUM(`earnings`) AS `sum_earnings`,
   SUM(`request_num`) AS `sumimpr-604`,
   SUM(`fill_num`) AS `sumimpr-850`,
   ((SUM(`fill_num`)/SUM(`request_num`))*100) AS `sumfill-233`,
   SUM(`impr_num`) AS `count`,
   ((SUM(`impr_num`)/SUM(`fill_num`))*100) AS `sumimpr-52a`,
   SUM(`click_num`) AS `sumimpr-c22`,
   ((SUM(`adv_bid_price`)/SUM(`ssp_fill_num`))/100) AS `sum_adv_bid_price`,
   (SUM(`income`)-SUM(`upstream_income`)) AS `sumearn-78f`,
   ((SUM(`income`)-SUM(`earnings`))-SUM(`upstream_income`)) AS `suminco-19e`,
   (1-(SUM(`earnings`)/SUM(`income`))) AS `suminco-1e0`
   FROM stat_engine -- base table
   -- FROM adx_stat.dwd_view_stat_engine_agg_hour_demension_normal -- first view
   where event_hour > '2025-12-21' and event_hour < '2025-12-22'
   GROUP BY 1,2,3,4,5,6,7,8,9
   ```
   
   ### Anything Else?
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to