统计一下牛客新登录用户的次日成功的留存率的公式为:(首次登录后第二天也登录的用户数)/首次登录用户数

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,datenot in (select user_id,min(datefrom 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,datenot in (select user_id,min(datefrom login group by user_id)

       group by user_id

) t2

on t1.user_id=t2.user_id and t1.min2=t2.min3