我有一个表'用户'和一个表'enc'。一个用户可以有多个enc,我只想要最新的enc日期。我将如何处理左连接?

时间:2014-08-25 21:10:44

标签: mysql

我有一个表user和一个表enc。一个user可以有多个enc,我只想要enc的最新日期。我将如何处理左连接?

我试过了:

select u.uname,e.date 
from users 
left join enc e on e.pid=u.uid 
where ulname like 'bar%' 
group by uid;

但是它给出了与uid首次匹配的日期。我想要最近约会。

有没有办法做到这一点?

感谢。

1 个答案:

答案 0 :(得分:2)

使用聚合函数MAX

SELECT u.uname,MAX(e.date) 
FROM users u
LEFT JOIN enc e ON e.pid=u.uid AND u.ulname LIKE 'bar%'
GROUP BY u.uid;

此外,您的查询将返回错误,因为您没有声明表“u”。我认为这是用户表的别名。另外我认为最好将LIKE子句放在连接条件中,就像Kevin在评论中提出的那样。