select distinct
    date,
    ifnull (
        count(
            case
                when (user_id, date) in
                (select
                    user_id,
                    min(date)
                from
                    login
                group by
                    user_id) then 1
            end
        ),
        0
    ) new
from
    login
group by
    date
order by
    date