with t as (
select user_id,date
from login
where (user_id,date) in (select user_id,min(date) from login group by user_id)
)
select t1.date,count(distinct t.user_id) as new
from t
right join login t1 on t.date = t1.date
group by t1.date
order by date