题解 | #各个视频的平均完播率#

各个视频的平均完播率

http://www.nowcoder.com/practice/96263162f69a48df9d84a93c71045753

题目主要信息

  • 计算2021年里有播放记录的每个视频的完播率(结果保留三位小数),并按完播率降序排序

问题拆分

  • 2021年有播放记录
  • 结束观看时间与开始播放时间的差>=视频时长时,视为完成播放
  • 结束观看时间与开始播放时间的差 知识点:TIMESTAMPDIFF()
  • 视频完播率=完成播放次数/总播放次数

代码

select 
	uvl.video_id,
    round(sum(if(timestampdiff(second,start_time,end_time)>=duration,1,0))/count(*),3) avg_comp_play_rate
from tb_user_video_log uvl
left join 
	tb_video_info vi
on 
	uvl.video_id=vi.video_id
where 
	year(start_time)=2021
group by 
	uvl.video_id
order by avg_comp_play_rate desc
全部评论

相关推荐

点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务