目標:根據子級的最新數據來查詢5條父級數據。
1、首先:查詢出所有符合的相關數據。
SELECT Q.id , Q.pid FROM Q LEFT JOIN P ON P.id=Q.pid WHERE P.XXOO=... AND Q.XXOO...;
2、其次:自鏈接查詢。
#SELECT A.* FROM A LEFT JOIN B ON A.XXOO = B.XXOO AND A.id < B.id WHERE B.id IS NULL;
SELECT A.* FROM A LEFT JOIN B ON A.XXOO = B.XXOO AND A.id < B.id WHERE B.id IS NULL ORDER BY A.id DESC LIMIT 5;
3、最後:組裝sql查詢。
SELECT
A.*
FROM
(SELECT
Q.id ,
Q.pid
FROM
Q
LEFT JOIN
P
ON P.id=Q.pid
WHERE
P.XXOO=...
AND Q.XXOO...) AS A
LEFT JOIN
(
SELECT
Q.id ,
Q.pid
FROM
Q
LEFT JOIN
P
ON P.id=Q.pid
WHERE
P.XXOO=...
AND Q.XXOO...
) AS B
ON A.XXOO = B.XXOO
AND A.id < B.id
WHERE
B.id IS NULL
ORDER BY
A.id DESC LIMIT 5;