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

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

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

SELECT
    tag,
    CONCAT (t1.avg_play_progress, "%")
from
    (
        select
            tag,
            round(
                avg(
                    if (
                        timestampdiff (second, u.start_time, u.end_time) >= v.duration,
                        1,
                        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
            v.tag
        HAVING
            avg_play_progress >60
        ORDER BY
            avg_play_progress desc
    ) t1;

#第一步:from 连接两个表,以video_id连接

#第二步:group by :按照tag进行聚合

#第二步:select:计算平均完播率,先计算每个视频的完播率,如果时长大于duration的直接赋值为1,如果小于,那么直接处于duration,最后计算每个tag的平均

#第三步:对完播率进行乘以100,保证后面的百分位数输出准确

#第四步:HAVING挑选出完播率大于60的,进行输出

#第五步:排序按照播放进度降序排序

#第六步:从上面的查询中,使用concat函数,连接两个数值类型,进行输出

全部评论

相关推荐

Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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