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

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

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

with t1 as (
    select 
        video_info.tag,
        duration,
        case 
            when timestampdiff(SECOND,user_info.start_time, user_info.end_time) > duration
            then 100
        else timestampdiff(SECOND,user_info.start_time, user_info.end_time)/duration*100
        end as play_progress
    from tb_user_video_log as user_info
    left join(
        select 
            video_id,
            tag,
            duration
        from tb_video_info
    ) as video_info 
    on user_info.video_id = video_info.video_id
), t2 as (
    select
        tag,
        round(avg(play_progress), 2) as avg_play_progress
    from t1
    group by tag
)
select 
    tag,
    concat(avg_play_progress, '%')
from t2
where avg_play_progress > 60
order by avg_play_progress desc;

全部评论

相关推荐

七牛云头号黑子:人家是过度包装被看出来没过简历,你是包都不包啊兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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