select u_n, c_n, latest_date date from ( select b.name u_n, c.name c_n, date, last_value(date) over ( partition by user_id order by date rows between unbounded preceding and unbounded following ) latest_date from login a join user b on a.user_id = b.id join client c on a.client_id = c.id ) t1 where ...