9.11网易互娱数分笔试SQL

各位大佬,网易互娱第2道SQL题怎么写呀?求大佬们不吝赐教  实在想不出来了😂

用户id,登陆月份,登陆日期
问:查出每日的登陆用户数 ,以及后续3日的用户留存数

#笔试题目##网易互娱#
全部评论
select date,        sum(case when pass_days=1 then 1 else 0)/count(distinct user_id) as 后1日留存率,        sum(case when pass_days=2 then 1 else 0)/count(distinct user_id) as 后2日留存率,        sum(case when pass_days=3 then 1 else 0)/count(distinct user_id) as 后3日留存率 from(     select           t1.date,t1.user_id,         datediff(t2.date,t1.date) as pass_days     from          (         select date,user_id             from log         group by              date,user_id         ) t1         left join         (         select date,user_id             from log         group by              date,user_id         ) t2     on t1.user_id=t2.user_id     where t2.date>t1.date     ) t3 group by date
4 回复 分享
发布于 2021-08-20 00:01
主要是没有示例就很烦,我自己创了一个对了,但到它上面就是0😔
点赞 回复 分享
发布于 2020-09-12 09:23
同求答案
点赞 回复 分享
发布于 2020-09-12 09:43
同求
点赞 回复 分享
发布于 2020-09-12 10:04
可以 left join 之后三天的每一天,然后 coalesce(b.user_id, c.user_id, d,user_id) as is_stay,留存就count( distinct is_stay)
点赞 回复 分享
发布于 2020-09-12 10:16

相关推荐

02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
评论
4
19
分享

创作者周榜

更多
牛客网
牛客企业服务