#第一次登录时间 min(date) 后一天 date_add(min(date),interval 1 day)
#分母是表里的去重总用户数,分子是(用户id,date)满足次日留存的条件。
select round(t1.c1/count(distinct l.user_id),3)as p
from login l
join
(select count(user_id) as c1
from login l
where (user_id,date) in 
(select user_id,date_add(min(date),interval 1 day)
              from login
              group by user_id))t1;