select round(count(l.date)/count(*),3) as p
from (select user_id,min(date) as date from login group by user_id) min_data
left join
login l
on min_data.user_id = l.user_id and l.date = date_add(min_data.date,interval 1 day)
总结:
(1).left join 中右表的统计的是匹配成功的个数,匹配不上(即为空)的数据,不参与count(右表.字段),即本题的count(l.date)