select u_n, c_n, date from(
    select user.name as u_n, client.name as c_n, date, rank() over(
        partition by user_id
        order by date desc
    ) as rk
    from login
    join user on login.user_id = user.id
    join client on login.client_id = client.id
) as tb
where rk = 1
order by u_n