select t.video_id,round(sum(TIMESTAMPDIFF(second,start_time,end_time)>=duration)/count(1),3) as avg_comp_play_rate
from tb_user_video_log t join tb_video_info t1 using(video_id)
where year(start_time)=2021
group by t.video_id
order by avg_comp_play_rate desc