解法:
易错点:分母为0
#每天新登录用户数 select a.date,if(a.new=0,0.000,round(b.remain/a.new,3)) from (select l1.date,count(distinct if(l2.date is null,l1.user_id,null)) as new from login l1 left join login l2 on l1.user_id=l2.user_id and l1.date>l2.date group by l1.date) a inner join #新用户次日登录用户数 (select l1.date,count(distinct if(l2.date is null and l3.date is not null,l1.user_id,null)) as remain from login l1 left join login l2 on l1.user_id=l2.user_id and l1.date>l2.date left join login l3 on l1.user_id=l3.user_id and DATE_ADD(l1.date,interval 1 day)=l3.date group by l1.date)b on a.date=b.date