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

各个视频的平均完播率

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

select
    video_id,
    round(
        ifnull(
            sum(
                case
                    when view_time >= duration then 1
                    else 0
                end
            ) / count(*),
            0
        ),
        3
    ) as avg_comp_play_rate
from
    (
        select
            tvi.video_id,
            duration,
            TIMESTAMPDIFF(second, start_time, end_time) as view_time
        from
            tb_user_video_log as tuvl
            right join tb_video_info as tvi using (video_id)
        where
            start_time between '2021-01-01' and '2021-12-31'
            and end_time between '2021-01-01' and '2021-12-31'
    ) temp
group by
    video_id
order by
    avg_comp_play_rate desc

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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