题解 | #2021年11月每天新用户的次日留存率#

2021年11月每天新用户的次日留存率

https://www.nowcoder.com/practice/1fc0e75f07434ef5ba4f1fb2aa83a450

select dt1,round( count(distinct if(datediff(dt2,dt1)=1 ,uid,null))/count(distinct if(uv=1,uid,null)),2)
from (
select  uid,dt as dt1,dense_rank() over(partition by uid order by dt) as uv,
lead(dt,1,dt) over(partition by uid order by dt) as dt2
from 
(
    select uid, date(in_time) as dt
    from tb_user_log
    union 
    select uid, date(out_time)
    from tb_user_log
)t2
#where substr(dt,1,7)='2021-11' 
#如果写在这里会排除第一天是上个月的情况,新用户就会定义错误 必须在排序后在写where
)t2
where uv=1 and substr(dt1,1,7)='2021-11'  
group by dt1

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
点赞 评论 收藏
分享
shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务