SELECT 
    cid,
    MAX(uv) max_peak_uv
FROM 
    (SELECT
        cid,
        SUM(mark)OVER(PARTITION BY cid ORDER BY time) uv
    FROM
        (SELECT
            cid,
            start_time as time,
            1 as mark
        FROM play_record_tb t1
        UNION ALL
        SELECT
            cid,
            end_time as time,
            -1 as mark
        FROM play_record_tb t2) t3) t4
GROUP BY cid
ORDER BY max_peak_uv DESC, cid
LIMIT 3