题解 | #牛客每个人最近的登录日期(三)#
牛客每个人最近的登录日期(三)
https://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d
select round(count(distinct user_id)*1.0/(select count(distinct user_id) from login) ,3) from login where (user_id,date) in (select user_id,DATE_ADD(min(date),INTERVAL 1 DAY) from login group by user_id);
1、找到每个用户第一天登录的日期和次日也登录的记录
where (user_id,date) in ( select user_id, DATE_ADD(min(date),INTERVAL 1 DAY) from login group by user_id);
2、所有用户的个数
select count(distinct user_id) from login
3、记录次留存率
round(count(distinct user_id)*1.0/(select count(distinct user_id) from login) ,3)
4、完整代码如下
select round(count(distinct user_id)/(
select count(distinct user_id)
from login)
,3)
from login
where (user_id,date) in (
select user_id,DATE_ADD(min(date),INTERVAL 1 DAY)
from login
group by user_id);
阿里云成长空间 763人发布

查看4道真题和解析