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

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

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

计算时间跨度不能简单地使用减法,要用TIMESTAMPDIFF (SECOND, start_time, end_time) / duration来计算

SELECT
    tb_video_info.tag,
    CONCAT (
        ROUND(
            AVG(
                IF (
                    TIMESTAMPDIFF (SECOND, start_time, end_time) / duration > 1,
                    1,
                    TIMESTAMPDIFF(SECOND, start_time, end_time) / duration
                )
            ) * 100,
            2
        ),
        '%'
    ) AS avg_play_progress
FROM
    tb_user_video_log
    LEFT OUTER JOIN tb_video_info ON tb_user_video_log.video_id = tb_video_info.video_id
GROUP BY
    tb_video_info.tag
HAVING
   avg_play_progress>'60.00%'
ORDER BY
    avg_play_progress DESC

全部评论

相关推荐

04-16 12:49
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务