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

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

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

#多个视频的播放进度
select sub.tag, concat(round(avg(if(rat >= 1, 1, rat)) * 100, 2), '%') avg_play from

#  单个视频的id, tag, 播放率
(
    select u.video_id, TIMESTAMPDIFF(SECOND, start_time, end_time) /v.duration as rat, tag from tb_user_video_log u left join tb_video_info v on u.video_id = v.video_id
) sub

group by 1
having avg(if(rat >= 1, 1, rat)) > 0.6
order by avg_play desc

记得用timestampdiff,我直接两个时间相减会有奇奇怪怪的错误。

思路是子查询的,先算单个视频的播放进度,再算这一类的

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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