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

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

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

SELECT b.tag, 
CONCAT(
    ROUND(
        AVG(
            (CASE WHEN TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration  THEN 1 
            ELSE (TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration) END)*100)
            /* IF (TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration,1,      TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration)*100)*/, 
    2),
'%') 
AS avg_play_progress
FROM tb_user_video_log AS a
LEFT JOIN tb_video_info AS b
ON a.video_id = b.video_id
GROUP BY b.tag
HAVING AVG(CASE WHEN TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration THEN 1 ELSE TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration END) > 0.6

/* HAVING AVG(IF(TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration,1,      TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration)) > 0.6 */

ORDER BY avg_play_progress DESC

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务