select u.name u_n ,c.name c_n ,date from user u join login l on u.id=l.user_id join client c on c.id=l.client_id where (user_id,date) in ( select user_id,max(date) over(partition by user_id) from login ) order by u.name
思路:利用窗口函数找到每个人的id和最后登录日期,最后按个人名字排序