क्यों न उपयोगकर्ता की प्रीक्वेरी और उन सभी पेय के साथ शुरू करें जो उन्होंने टिप्पणियों की पेशकश की है और किस समय के रूप में (पता नहीं है कि आपके पास किसी दिए गए पेय के लिए प्रति व्यक्ति एकाधिक टिप्पणियां हैं या नहीं)। फिर, अपनी तारीख/समय की ऐसी टिप्पणी के बाद अन्य सभी से टिप्पणियां प्राप्त करें...
यह क्वेरी वास्तव में तेज़ होनी चाहिए क्योंकि यह आधार के रूप में केवल एक उपयोगकर्ता की पेय टिप्पणियों के साथ शुरू हो रही है, फिर पेय आईडी और कटऑफ समय से मेल खाने वालों के लिए टिप्पणी तालिका पर वापस जाती है।
SELECT STRAIGHT_JOIN
dc.*
from
( select
drinkID,
max( datetime ) UserID_DrinkCommentTime
FROM
drinkComments
WHERE
userID = 1
group by
drinkID ) PreQuery
join DrinkComments dc
on PreQuery.DrinkID = dc.DrinkID
and dc.datetime > PreQuery.UserID_DrinkCommentTime
order by
dc.DateTime desc