例如,我有这两个表:
Organiser Events
---------- -------
id 1 id
|__ * organiser_id
date
status
如何选择状态等于(例如“事件”)的最新事件的所有组织者的 ID。
我想我必须在子查询中使用 max(date) 还是需要使用联接?仍然没有找到解决方案,因此感谢您的帮助!
谢谢
编辑:
我刚刚找到了这个解决方案(不知道这是否是最好的解决方案?):
SELECT o.id, e.date
FROM Organiser o
INNER JOIN events e on e.organiser_id = o.id
WHERE e.date = (SELECT max(date)
FROM events e2
WHERE e2.organiser_id = o.id)
最佳答案
SELECT
id
FROM
Organiser AS o
WHERE
( SELECT status
FROM Events AS e
WHERE e.organiser_id = o.id
ORDER BY `date` DESC
LIMT 1
) = 'active'
关于MySQL 查询最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7649850/