with t1 as ( select uid, min(event_time) as event_time from tb_order_detail left join tb_order_overall using (order_id) group by uid having date_format (min(event_time), '%Y-%m') = '2021-10' ), t2 as ( select t1.uid, total_amount, order_id from t1 left join tb_order_overall on t1.uid = tb_order_overall.uid and t1.event_time = tb_order_overall.event_time ), t4 as ( select total_amount, sum_price, order_id from t2 left join ( select order_id, sum(price) as sum_price from t2 left join tb_order_detail using (order_id) group by order_id ) as t3 using (order_id) ) select round(avg(total_amount),1) as avg_amount, round(avg((sum_price - total_amount)),1) as avg_cost from t4
shi山代码