select tl.video_id, 
round(avg(timestampdiff(second, start_time, end_time)>=duration),3) avg_comp_play_rate
from tb_user_video_log tl
join tb_video_info ti
on tl.video_id=ti.video_id
where year(start_time) = '2021'
group by tl.video_id
order by avg_comp_play_rate desc;

每次做题总是忽略了时间范围的要求,这题要求是在2021年有播放记录的视频的完播率。

完成率一般都可以使用avg()函数来计算