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

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

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

select
    tag,
    concat(
        round(
            avg(
                if(
                    timestampdiff(second, u.start_time, u.end_time) / v.duration * 100 > 100,
                    100,
                    timestampdiff(second, u.start_time, u.end_time) / v.duration * 100
                )
            ),
            2
        ),
        '%'
    ) as avg_play_progress
from
    tb_user_video_log u
    left join tb_video_info v on u.video_id = v.video_id
group by
    tag
having
    cast(substr(avg_play_progress,1,5) as float) > 60
order by
    avg_play_progress desc

先用if对超过100的播放进度进行固定

再利用concat函数粘上 '%'

最后利用cast函数强制转化数据类型,在having处筛选处播放进度大于60%的数据

全部评论

相关推荐

不知道怎么取名字_:看来现在卷的,这种单位都开始提高要求了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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