这里是 SQL小提琴 证明了以下查询:
SELECT *
FROM TableA AS a
JOIN TableB as b
ON a.m_id = b.m_m_id AND b.date_created =
(
SELECT MAX(bs.date_created)
FROM TableB bs
WHERE bs.m_m_id = a.m_id
LIMIT 1
)
如果您的桌子有很多记录,您可能需要在某个条款中应用一个范围来加快查询的速度,例如:
SELECT *
FROM TableA AS a
JOIN TableB as b
ON a.m_id = b.m_m_id AND b.date_created =
(
SELECT MAX(bs.date_created)
FROM TableB bs
WHERE bs.m_m_id = a.m_id
LIMIT 1
)
WHERE a.m_id BETWEEN 2 AND 3