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

各个视频的平均完播率

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

SELECT v.video_id,
       ROUND(SUM(CASE WHEN TIMESTAMPDIFF(SECOND, uv.start_time, uv.end_time) >= v.duration THEN 1 ELSE 0 END) / COUNT(*), 3) AS completion_rate
FROM tb_user_video_log uv
JOIN tb_video_info v ON uv.video_id = v.video_id
WHERE YEAR(uv.start_time) = 2021
GROUP BY v.video_id
ORDER BY completion_rate DESC;

  1. 总播放次数:这个数值可以通过统计tb_user_video_log表中每个video_id的记录数量来得到
  2. 完成播放次数:我们可以通过比较tb_user_video_log表中的end_timestart_time的差值和tb_video_info表中的duration来确定是否播放完成。如果差值大于等于duration,则视为完成播放
#sql##数据分析#
全部评论

相关推荐

03-01 21:45
中北大学 Python
孤蓝长空:请你说一下为什么你用websocket而不是http,请你说一下什么是rpc,为什么用rpc,你的rpc的传输协议是JSON,xml还是什么 请你描述一下你的鉴权流程(完整的) 我问的是第二个项目,随便问的哈哈哈
开工第一帖
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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