不爽,一开始想错了,表连接查询全搞定了,最后发现条件需要在WHERE中限定,自己以后还是要将表连接完,查询出所有数据先看看,然后再根据结果加各种条件,不然容易出现细节上的问题。
SELECT u.name,c.name,l.date
FROM login l
JOIN user u ON l.user_id=u.id
JOIN client c ON  l.client_id=c.id
WHERE  
      (l.user_id,l.date)IN(
      SELECT user_id, MAX(date)
      FROM login
      GROUP BY user_id)
ORDER BY u.name