# 方法1:max函数
# select user.name,client.name,date
# from login
# join user
# on login.user_id=user.id
# join client
# on login.client_id=client.id
# where (user_id,date) in (
#   select user_id,max(date)
#   from login
#   group by user_id
# )
# order by user.name

# 方法2:窗口函数
select u_n,c_n,date
from (
  select user.name u_n,client.name c_n,date,rank()over(partition by user_id order by date desc) posn 
  from login
  join user
  on login.user_id=user.id
  join client
  on login.client_id=client.id
) t
where posn=1
order by u_n