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

各个视频的平均完播率

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

select tuvl.video_id,
round(sum(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,0)) / COUNT(start_time),3) AS avg_comp_play_rate
FROM tb_user_video_log AS tuvl
LEFT JOIN tb_video_info AS tvi on tuvl.video_id = tvi.video_id
where year(start_time) = 2021
group by video_id 
order by avg_comp_play_rate DESC 

select tuvl.video_id,
round(count(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,null)) / COUNT(start_time),3) AS avg_comp_play_rate

FROM tb_user_video_log AS tuvl
LEFT JOIN tb_video_info AS tvi on tuvl.video_id = tvi.video_id
where year(start_time) = 2021
group by video_id 
order by avg_comp_play_rate DESC 

count只有在值null时才不算上这一条记录

count(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,null))

count(if(tuvl.end_time - tuvl.start_time >= tvi.duration,1,0)) #错误的

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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