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