# 先查询出各用户的最早登录日期,即为新登录用户
select user_id, min(`date`) min_date
from login
group by user_id
# 再将新登录用户的表与登录记录表连接,连接条件为第二天的用户
select round(avg(`date` is not null),3) p
from (
    select user_id, min(`date`) as min_date
    from login
    group by user_id
) k1
left join login l
on k1.user_id = l.user_id and datediff(`date`, k1.min_date) = 1;