此题解题重点timestampdiff函数
timestampdiff函数日期或日期时间表达式之间的整数差。
语法:TIMESTAMPDIFF(interval,start_time,end_time)
比较的时间间隔单位interval可以为以下数值:
FRAC_SECOND:毫秒
SECOND:秒
MINUTE:分钟
HOUR:小时
DAY:天
WEEK:星期
MONTH:月
QUARTER:季度
YEAR:年
例如: TIMESTAMPDIFF(DAY,'2018-07-01 09:00:00','2018-07-04 12:00:00')

此题解题代码

select a.video_id
       ,round(sum(if(TIMESTAMPDIFF(second,a.start_time,a.end_time)
            >=b.duration,1,0))/count(a.id),3) as avg_comp_play_rate
from tb_user_video_log a 
join tb_video_info  b
on a.video_id = b.video_id
where a.start_time like '2021%%'
group by a.video_id
order by avg_comp_play_rate desc;