我有一个表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首次匹配的日期。我想要最近约会。
有没有办法做到这一点?
感谢。
答案 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在评论中提出的那样。