select round(sum(case when (user_id, adddate(date, -1)) in (SELECT user_id, min(date) date from login group by user_id) then 1 else 0 end)/count(distinct user_id), 3)
from login

select round(sum(case when (user_id, adddate(date, -1)) in (SELECT user_id, min(date) date from login group by user_id) then 1 else 0 end)/count(distinct user_id), 3)
from login