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

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

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

WITH play_info AS(
    SELECT
        u.video_id,
        TIMESTAMPDIFF(SECOND, start_time, end_time) AS play_time,
        v.tag,
        v.duration,
        CASE 
            WHEN TIMESTAMPDIFF(SECOND, start_time, end_time) / v.duration < 1 
            THEN TIMESTAMPDIFF(SECOND, start_time, end_time) / v.duration 
            ELSE 1 
        END AS play_progress
    FROM tb_user_video_log u
    LEFT JOIN tb_video_info v
    ON u.video_id = v.video_id
)

SELECT 
    tag,
    CONCAT(ROUND(AVG(play_progress * 100), 2), "%") AS avg_play_progress
FROM play_info
GROUP BY tag
HAVING AVG(play_progress) > 0.6
ORDER BY avg_play_progress DESC

全部评论

相关推荐

投递美团等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务