यदि "सक्रिय" वर्णानुक्रम में पहला है तो आप सबक्वेरी को कम करने में सक्षम हो सकते हैं:
SELECT p.id, r.status, r.title
FROM page AS p
INNER JOIN page_revision as r ON r.pageId = p.id AND
r.id = (SELECT r2.id
FROM page_revision as r2
WHERE r2.pageId = r.pageId
ORDER BY r2.status, r2.id DESC
LIMIT 1)
अन्यथा आप ORDER BY लाइन को
. से बदल सकते हैंORDER BY CASE r2.status WHEN 'active' THEN 0 ELSE 1 END, r2.id DESC
ये सभी SQL सर्वर पर मेरी धारणाओं से आते हैं, MySQL के साथ आपका माइलेज भिन्न हो सकता है।