题解 | #牛客每个人最近的登录日期(五)#

牛客每个人最近的登录日期(五)

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

select t0.date,ifnull(round(count(distinct t2.user_id)/(count(t1.user_id)),3),0) as `p`
from
(select date from login group by date) as t0
left join
(select user_id,min(date) as date from login group by user_id) as t1
on t0.date = t1.date
left join login as t2
on t1.user_id = t2.user_id and datediff(t2.date,t1.date) = 1
group by t0.date

先找出所有的日期以及每个用户第一次登陆的日期,即新用户的日期,然后再找出第二天还登录的用户

按照次日留存率的公式计算即可,按照日期分组聚合

全部评论

相关推荐

昨天 20:52
武汉大学 Java
点赞 评论 收藏
分享
11-20 15:03
四川大学 Java
点赞 评论 收藏
分享
12-20 11:21
复旦大学 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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