题解 | #各个视频的平均完播率#
各个视频的平均完播率
https://www.nowcoder.com/practice/96263162f69a48df9d84a93c71045753
select u.video_id,
round(
avg(
case when timestampdiff(second, start_time,end_time) >= duration
then 1 else 0
end)
,3) as avg_comp_play_rate
from tb_user_video_log u
left join tb_video_info v
on u.video_id = v.video_id
where date_format(start_time, '%Y') = 2021
and date_format(end_time, '%Y') = 2021
group by u.video_id
order by avg_comp_play_rate desc
- timestampdiff(时间单位,开始时间,结束时间) 刚开始开始和结束写反了不知道为什么错
- date_format(时间,'%Y-%m-%d') 单引号里的格式可选
- 求...率的时候考虑avg()+case when
查看20道真题和解析