我有两个具有以下结构的mysql表:
表1:
---ID---------NAME-------
---1----- page name 1 ---
---2----- page name 2 ---
---3----- page name 3 ---
表2:
----ID---PAGE ID---------NAME------
-----1-----1-------- page name 1 ---
-----2-----2-------- page name 2 ---
-----3-----3-------- page name 3 ---
-----4-----1-------- page name 1 ---
-----5-----2-------- page name 2 ---
-----6-----3-------- page name 3 ---
-----7-----1-------- page name 1 ---
-----8-----2-------- page name 2 ---
-----9-----3-------- page name 3 ---
正如您在表2 中所见,每个页面都会被多次提及。
我想加入表2 上的表1 ,只有表2 中的最新记录,在这种情况下只有最新的三条记录! (“最新”表示ID较高的记录)是否可以使用mysql?
答案 0 :(得分:1)
表2
----ID---PAGE ID----
-----1-----1--------
-----2-----2--------
-----3-----3--------
-----4-----1--------
-----5-----2--------
-----6-----3--------
-----7-----1--------
-----8-----2--------
-----9-----3--------
和
SELECT Table1.ID, PAGE_ID, NAME
FROM Table1
LEFT JOIN Table2 ON Table1.ID = Table2.PAGE_ID
WHERE ... put your condition for latest if other when highest ID
ORDER BY Table1.ID DESC
LIMIT 3
答案 1 :(得分:0)
SELECT Table1.ID, PAGE_ID, NAME
FROM Table1
LEFT JOIN Table2 ON Table1.ID = Table2.PAGE_ID
WHERE Table2.ID = MAX(Table2.ID)
GROUP BY Table1.ID
LIMIT 3
应该有效