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

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

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

select
    tag,
    CONCAT (avg_play_progress, "%")
from
    (
        select
            i.tag as tag,
            round(
                avg(
                    if (
                        timestampdiff (second, l.start_time, l.end_time) > i.duration,
                        100,
                        (
                            timestampdiff (second, l.start_time, l.end_time) / i.duration
                        ) * 100
                    )
                ),
                2
            ) as avg_play_progress
        from
            tb_user_video_log as l
            inner join tb_video_info as i using (video_id)
        group by
            i.tag
        HAVING
            avg_play_progress > 60
        ORDER BY
            avg_play_progress DESC
    ) as t

  • 将两个表连接起来
  • 查询tag,并且计算avg_play_progress
  • 使用having,将不符合要求的分组过滤
  • 将avg_play_progress转化为百分比形式

全部评论

相关推荐

程序员小白条:投太少了,多投点吧,二本就海投,然后简历上加点奖项或者四六级之类的,别管有没有用,另外最好搞下个人博客,定期输出一些文章和学习总结,也可以去github参与一下开源项目提一些PR,总会有中小公司看的上的
点赞 评论 收藏
分享
11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务