WITH a AS (
    SELECT 
        city, 
        event_time AS checktime, 
        DATE(event_time) AS dt,   -- 提取日期
        1 AS uv
    FROM tb_get_car_record
    WHERE DATE_FORMAT(event_time, '%Y-%m') = '2021-10'
    
    UNION ALL
    
    SELECT 
        city, 
        end_time, 
        DATE(end_time) AS dt,     -- 提取日期
        -1 AS uv
    FROM tb_get_car_record
    WHERE DATE_FORMAT(end_time, '%Y-%m') = '2021-10' AND order_id IS NULL
),
b AS (   
    SELECT 
        tcr.city, 
        CASE 
            WHEN tco.start_time IS NULL THEN tco.finish_time 
            ELSE tco.start_time 
        END AS jieshushijian,
        DATE(CASE 
            WHEN tco.start_time IS NULL THEN tco.finish_time 
            ELSE tco.start_time 
        END) AS dt               -- 提取日期
    FROM tb_get_car_record tcr
    LEFT JOIN tb_get_car_order tco USING(order_id)
    WHERE DATE_FORMAT(tcr.end_time, '%Y-%m') = '2021-10'
),
c AS (
    SELECT 
        city, 
        dt,
        SUM(uv) OVER(PARTITION BY city, dt ORDER BY checktime, uv DESC) AS wait
    FROM (
        SELECT city, dt, checktime, uv FROM a
        UNION ALL
        SELECT city, dt, jieshushijian AS checktime, -1 AS uv FROM b
    ) bi
)
SELECT 
    city, 
    MAX(wait) AS max_wait_uv
FROM c
GROUP BY city, dt
ORDER BY dt, city   -- 按日期和城市排序,也可按 max_wait_uv 排序