我是mysql的初学者,我有两个表。日志表包含(电子邮件,日期时间,值),另一个是存在电子邮件的tmp。
我进行查询
select distinct email, datetime
from Log
where email in (select email from tmp)
group by email;
结果是:
| email | datetime |
+----------------------------+---------------------+
| aaa@gmail.com | 2014-02-06 14:08:28 |
| bbb@gmail.com | 2014-05-22 18:53:39 |
| cc@gmail.com | 2014-05-22 18:51:19 |
+----------------------------+---------------------+
但是我需要datetime应该是最新的,这个查询选择第一个日期(更早)。我应该更改什么才能获得最新日期?
答案 0 :(得分:0)
由于您使用组的事实,您可以使用像max()这样的聚合函数,如果您想要更新,否则您可以使用min()
select email, max(datetime )
from Log
where email in (select email from tmp)
group by email;
并且您不需要使用分组
答案 1 :(得分:0)
试试这个
select distinct email, datetime
from Log
where email in (select email from tmp)
group by email
ORDER BY datetime desc
答案 2 :(得分:0)
你可以使用max:
select distinct email, max(datetime)
from Log
where email in (select email from tmp)
group by email;