先根据用户分组,查出每个用户登录的最新日期(一):
select user_id,max(date) from login group by login.user_id ;
查找出来的应该这样的
select user.name as u_n, client.name as c_n, login.date from login join user on login.user_id=user.id join client on login.client_id=client.id查找的结果应该是:
那么再根据用户id和最新的登录日期(一),可以在所有的数据(二)里面,从而确定唯一一组数据,最后再按照名字排序(三):
select user.name as u_n, client.name as c_n, login.date from login join user on login.user_id=user.id join client on login.client_id=client.id where (login.user_id,login.date) in (select user_id,max(date) from login group by login.user_id ) order by user.name;