select round(count(distinct b.user_id)/count(distinct a.user_id),3) as p
from (select user_id,min(date) as date from login group by 1) as a
left join
login as b
on a.user_id =b.user_id
and datediff(b.date,a.date)=1