SELECT ROUND(COUNT(id)/COUNT(a.user_id),3) AS p FROM (SELECT user_id,MIN(DATE) AS DATE FROM login GROUP BY user_id ) AS a LEFT JOIN login AS b ON a.user_id = b.user_id #AND a.date+1 = b.date and date_add(a.date,interval 1 day) = b.date

SELECT ROUND(COUNT(id)/COUNT(a.user_id),3) AS p FROM (SELECT user_id,MIN(DATE) AS DATE FROM login GROUP BY user_id ) AS a LEFT JOIN login AS b ON a.user_id = b.user_id #AND a.date+1 = b.date and date_add(a.date,interval 1 day) = b.date