SELECT
    video_id,
    ROUND(SUM(IF(play_time >= duration, 1, 0)) / COUNT(play_time), 3) AS avg_comp_play_rate #播放记录且大于时常
FROM(
    SELECT
        tu.video_id,
        TIMESTAMPDIFF(SECOND, start_time, end_time) AS play_time,
        duration
    FROM tb_user_video_log tu
    JOIN tb_video_info tv
    ON tu.video_id = tv.video_id
    WHERE YEAR(start_time) = 2021 # 条件1: 2021年
) AS tb1
GROUP BY video_id
ORDER BY avg_comp_play_rate DESC