次日留存率关键就是对时间差=1条件计数

select round(sum(timestampdiff(day,注册日期,date)=1)/count(distinct t.user_id),3) from login as t right join (select user_id as g,min(date) as 注册日期 from login group by user_id )as t2 on t.user_id=g;