SELECT da.date,
IFNULL (ROUND(COUNT(DISTINCT l.user_id)/COUNT(bi1.user_id),3),0)
FROM (
SELECT DISTINCT date
FROM login
ORDER BY date
) da
LEFT JOIN (
SELECT user_id, MIN(date) date
FROM login
GROUP BY user_id
) bi1 ON da.date = bi1.date
LEFT JOIN login l ON bi1.user_id = l.user_id
AND l.date = DATE_ADD(bi1.date,INTERVAL 1 DAY)
GROUP BY da.date



京公网安备 11010502036488号