统计一下牛客新登录用户的次日成功的留存率的公式为:(首次登录后第二天也登录的用户数)/首次登录用户数
1.找出“用户ID”,“用户首次登录日期”和“用户第二日登录日期(理论值)”:
select user_id,min(date),date_add(min(date),interval 1 day) as min2 from login group by user_id
2.求出“用户ID”和“用户第二次登录的实际日期”:
select user_id ,min(date) min3
from login
where (user_id,date) not in (select user_id,min(date) from login group by user_id)
group by user_id
3.两表链接起来计算:
select round(count(distinct t2.user_id)/count(t1.user_id),3)
from
(
select user_id,
min(date),
date_add(min(date),interval 1 day) as min2
from
login
group by user_id
) t1
left outer join
(
select user_id ,
min(date) min3
from login
where (user_id,date) not in (select user_id,min(date) from login group by user_id)
group by user_id
) t2
on t1.user_id=t2.user_id and t1.min2=t2.min3



京公网安备 11010502036488号