WITH daily_events AS (
    SELECT 
        cid,
        DATE(event_time) AS dt,
        event_time,
        event_type
    FROM (
        -- 生成开始事件
        SELECT 
            cid, 
            start_time AS event_time, 
            1 AS event_type
        FROM play_record_tb
        
        UNION ALL
        
        -- 生成结束事件
        SELECT 
            cid, 
            end_time AS event_time, 
            -1 AS event_type
        FROM play_record_tb
    ) events
),
daily_concurrent AS (
    SELECT 
        cid,
        dt,
        event_time,
        SUM(event_type) OVER (
            PARTITION BY cid, dt 
            ORDER BY event_time, event_type DESC
        ) AS concurrent
    FROM daily_events
),
daily_peak AS (
    SELECT 
        cid,
        dt,
        MAX(concurrent) AS peak_concurrent
    FROM daily_concurrent
    GROUP BY cid, dt
),
video_peak AS (
    SELECT 
        cid,
        MAX(peak_concurrent) AS max_peak_concurrent
    FROM daily_peak
    GROUP BY cid
),
ranked_videos AS (
    SELECT 
        cid,
        max_peak_concurrent,
        DENSE_RANK() OVER (ORDER BY max_peak_concurrent DESC) AS rk
    FROM video_peak
)
SELECT 
    cid AS `视频ID`,
    CAST(max_peak_concurrent AS DECIMAL(10, 3)) AS `最大并发播放量`
FROM ranked_videos
WHERE rk <= 3
ORDER BY max_peak_concurrent DESC, cid
limit 3;

我只能说出题人语文水平烂,说话不严谨,真的很影响刷题的心情