यह मानते हुए कि आपकी तालिकाएँ इस तरह दिखती हैं, प्रति पोस्ट तीन सबसे हाल की टिप्पणियों के साथ इसे आपकी पोस्ट मिलनी चाहिए:
पोस्ट :id
, post_text
टिप्पणी :id
, post_id
, comment_text
SELECT id, post_text, comment_text
FROM
(
SELECT p.id, p.post_text, c.comment_text
CASE
WHEN @id != p.id THEN @row_num := 1
ELSE @row_num := @row_num + 1
END AS rank,
@id := p.id
FROM post p
LEFT JOIN comment c ON ( c.post_id = p.id )
JOIN ( SELECT @id:=NULL, @row_num:=0 ) x
ORDER BY p.id,
c.id DESC -- newest comments first
) y
WHERE rank <= 3;
उप-क्वेरी का उपयोग हाल की टिप्पणियों को पहले प्राप्त करने और उन्हें प्रति पोस्ट संख्या देने के लिए किया जाता है, जबकि बाहरी चयन पुरानी टिप्पणियों को हटा देता है।