SELECT
    cid,
    pv,
    ROW_NUMBER() OVER(ORDER BY pv DESC, release_date DESC) AS rk # 3. 排名,注意顺序
FROM(
    SELECT
        cid,
        release_date,
        SUM(view_cnt) AS pv # 2. 统计视频总重复观看次数
    FROM(
        SELECT
            p.uid,
            p.cid,
            release_date,
            COUNT(end_time) AS view_cnt # 1.找到每个用户观看视频次数
        FROM play_record_tb p
        JOIN course_info_tb c
        ON p.cid = c.cid
        GROUP BY uid, cid, release_date
        HAVING view_cnt != 1 # 排除观看次数只有一次的
    ) AS tb1
    GROUP BY cid, release_date
) AS tb2
LIMIT 3 # 4.排名靠前的3个