आप ग्रुपवाइज़ मैक्सिमम चाहते हैं; संक्षेप में, भुगतान तालिका को अधिकतम रिकॉर्ड की पहचान करने के लिए समूहित करें, फिर अन्य कॉलम लाने के लिए परिणाम को वापस अपने साथ जोड़ लें:
SELECT users.*, payments.method, payments.id AS payment_id
FROM payments NATURAL JOIN (
SELECT user_id, MAX(id) AS id
FROM payments
GROUP BY user_id
) t RIGHT JOIN users ON users.id = t.user_id
ध्यान दें कि MAX(id)
"सबसे हाल का भुगतान . नहीं हो सकता है ", आपके आवेदन और स्कीमा के आधार पर:आमतौर पर यह निर्धारित करना बेहतर होता है कि "नवीनतम " TIMESTAMP
के आधार पर सिंथेटिक पहचानकर्ताओं जैसे कि AUTO_INCREMENT
. के आधार पर आधारित नहीं प्राथमिक कुंजी कॉलम।