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

各个视频的平均完播率

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 和 播放完成率的降序

全部评论

相关推荐

迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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