select user_id, date from(
select *, rank() over(
partition by user_id
order by date desc
) as rk
from login
) as tb
where rk = 1

select user_id, date from(
select *, rank() over(
partition by user_id
order by date desc
) as rk
from login
) as tb
where rk = 1