select
distinct b.date,
count(a.user_id) new
from
(select distinct date from login)b
left join                                                                              #考虑当日新用户为0的情况,使用原表中distinct date作为索引
(select user_id,min(date) date from login  group by 1)a   #user_id对应登陆日期最小的即是当日的新用户
on b.date=a.date
group by 1
order by 1