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

各个视频的平均完播率

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

select
    a.video_id,
    round(
        sum(if (end_time - start_time >= duration, 1, 0)) / count(start_time),
        3
    ) as avg_comp_play_rate
from
    tb_user_video_log a
    left join tb_video_info b on a.video_id = b.video_id
where
    year (start_time) = 2021
group by
    a.video_id
order by
    avg_comp_play_rate DESC

直接用if函数去处理 开始时间-结束时间 是否大于 播放时长

左链接关联两个表

得到具体播放video_id 和 播放完成率

最后加上题目原本的限制,2021 和 播放完成率的降序

全部评论

相关推荐

09-29 17:44
已编辑
蔚来_测(准入职员工)
//鲨鱼辣椒:见不了了我实习了四个月上周再投筛选了一天就给我挂了
点赞 评论 收藏
分享
11-08 17:36
诺瓦科技_HR
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务