题解 | #(正常思路)各个视频的平均完播率#

各个视频的平均完播率

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

关于日常概率,差值问题最先应该抓取所需的字段,然后配合group by 聚合函数求和,做差

1 使用到函数
sum(if( 条件 ,1,0 )) 配合group by ,工作中经常使用到的
2 其他函数
cast() 在格式转换,经常使用到的
3 最后不通数据库执行顺序总结
mysql :  from  where XX group by XX having select order by 
hive  :   from  where XX group by XX select order by  having  order by 
最后放上答案:
SELECT
      a.video_id,
      cast((sum(if( ((a.end_time - a.start_time) >= b.duration) ,1,0 )) / count(1)) as decimal(10,3)) as vg
    FROM
      tb_user_video_log a
      left join tb_video_info b on a.video_id = b.video_id
    where year(start_time) = 2021
    group by a.video_id , b.duration
    order by vg desc

全部评论

相关推荐

karis_aqa:和hr没关系,都是打工的
点赞 评论 收藏
分享
评论
22
10
分享

创作者周榜

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