SELECT DISTINCT 
    cid,
    MAX(uv) max_peak_uv
FROM 
    (SELECT
        t1.cid,
        SUM(if(t1.start_time BETWEEN t2.start_time AND t2.end_time ,1,0)) uv
    FROM play_record_tb t1
    JOIN play_record_tb t2 ON t1.cid = t2.cid
    WHERE TIMEDIFF(t1.end_time, t1.start_time) >= 0
    GROUP BY t1.id) t3
GROUP BY cid
ORDER BY max_peak_uv DESC, cid
LIMIT 3