一开始没注意看题一直在年份是2021那卡了好久
select
  a.video_id,
  round(sum(if(timestampdiff(second, start_time, end_time) >= b.duration,1,0)) / count(*),3) as avg_comp_play_rate
from
  tb_user_video_log as a
  join tb_video_info as b on a.video_id = b.video_id
  where year(start_time)='2021'
group by
  a.video_id
order by
  avg_comp_play_rate desc;