select c.video_id,
round(count(case when c.end_time >=c.duration then end_time else null end)/count(end_time),3) as avg_comp_play_rate
from (
select a.video_id as video_id ,(a.end_time-a.start_time) end_time,
b.duration duration,b.release_time release_time
from tb_user_video_log a
left join tb_video_info b
on a.video_id=b.video_id
where year(start_time)=2021
) c
group by c.video_id
order by avg_comp_play_rate desc
SQL2 平均播放进度大于60%的视频类别
问题:计算各类视频的平均播放进度,将进度大于60%的类别输出。
注:
- 播放进度=播放时长÷视频时长*100%,当播放时长大于视频时长时,播放进度均记为100%。
- 结果保留两位小数,并按播放进度倒序排序。
输出示例:
示例数据的输出结果如下: