题解 | 平均播放进度大于60%的视频类别

平均播放进度大于60%的视频类别

https://www.nowcoder.com/practice/c60242566ad94bc29959de0cdc6d95ef

WITH bofang AS (
    SELECT 
        video_id,
        TIMESTAMPDIFF(SECOND, start_time, end_time) AS "view_time"
    FROM tb_user_video_log
)
SELECT
    t2.tag,
    CONCAT(t2.avg_play_progress, "%") AS avg_play_progress
FROM (
    SELECT
        t.tag,
        ROUND(AVG(t.jindu)*100, 2) AS avg_play_progress
    FROM (
        SELECT 
            tag,
            CASE WHEN view_time >= duration THEN 1
            ELSE view_time/duration
            END AS jindu
        FROM tb_video_info 
        JOIN bofang ON tb_video_info.video_id = bofang.video_id) t
    GROUP BY t.tag
    HAVING avg_play_progress > 60
    ORDER BY avg_play_progress DESC) t2

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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