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

各个视频的平均完播率

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

SELECT
    table1.video_id,
    ROUND(
        COUNT(
            CASE
                WHEN table1.last >= table1.duration THEN 1
                ELSE null
            END
        ) / COUNT(*),
        3
    ) AS avg_comp_play_rate
FROM
    (
        SELECT
            video_time.video_id AS video_id,
            last,
            duration
        FROM
            (
                SELECT
                    video_id,
                    end_time - start_time AS last
                FROM
                    tb_user_video_log
                WHERE YEAR(start_time) = 2021
            ) AS video_time
            INNER JOIN tb_video_info ON video_time.video_id = tb_video_info.video_id
    ) AS table1
GROUP BY table1.video_id
ORDER BY avg_comp_play_rate DESC;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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