with a as( select uid,city,event_time as dt,1 as flag from tb_get_car_record union select uid,city,end_time as dt,-1 as flag from tb_get_car_record where order_id is null union (select t.uid,city,ifnull(start_time,finish_time) as dt,-1 as flag from tb_get_car_order t right join tb_get_car_record tr on t.order_id = tr.order_id)) select city,max(uv) as max_wait_uv from( select city,sum(flag) over(partition by city order by dt,flag desc) as uv from a where date_format(dt,'%Y%m') ='202110')b group by city order by max_wait_uv,city
二刷