select a.video_id,round(sum(IF(a.end_time-a.start_time >= b.duration,1,0))/count(a.start_time),3) as avg_comp_play_rate from tb_user_video_log a left join tb_video_info b on a.video_id = b.video_id WHERE year(start_time) = 2021 group by video_id ORDER BY avg_comp_play_rate DESC