题解 | 各个视频的平均完播率

各个视频的平均完播率

https://www.nowcoder.com/practice/96263162f69a48df9d84a93c71045753

with t1 as (
    select tl.video_id,count(*) comp_play_cnt
    from tb_user_video_log tl left join tb_video_info ti on tl.video_id = ti.video_id
    where year(tl.start_time) = 2021
    and timestampdiff(second,tl.start_time,tl.end_time) >= ti.duration
    group by tl.video_id
),
t2 as (
    select video_id,count(*) total_play_cnt
    from tb_user_video_log
    where year(start_time) = 2021
    group by video_id
)
select t2.video_id,ifnull(round(t1.comp_play_cnt/t2.total_play_cnt,3),0) avg_comp_play_rate
from t2 left join t1 on t2.video_id = t1.video_id
where t2.video_id is not null
order by avg_comp_play_rate desc;

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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