题解 | #平均播放进度大于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;

全部评论

相关推荐

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