select round(count(m.date)/count(m.d),3) from (SELECT x.user_id, x.d, l2.date from (SELECT l.user_id, min(l.date) as d FROM login l GROUP BY l.user_id)x LEFT JOIN login l2 on x.user_id= l2.user_id and x.d+1= l2.date)m

select round(count(m.date)/count(m.d),3) from (SELECT x.user_id, x.d, l2.date from (SELECT l.user_id, min(l.date) as d FROM login l GROUP BY l.user_id)x LEFT JOIN login l2 on x.user_id= l2.user_id and x.d+1= l2.date)m