मैं प्रत्येक आईडीएक सबक्वायरी के बिना अधिकतम अनुक्रम के साथ केवल पंक्ति का चयन कैसे करें?
ID | Seq | Age
-------------------
A 1 20
A 2 30
B 1 25
B 2 32
B 3 44
B 4 48
C 1 11
यह
SELECT ID, Age
FROM Persons a
WHERE Seq = (SELECT MAX(Seq) FROM Persons b WHERE a.ID = b.ID)
काम करने के लिए प्रकट होता है लेकिन इस सबसे अच्छा तरीका है, एक ही रास्ता के लिए उच्चतम seq के साथ ही पंक्ति का चयन करने के लिए कोशिश कर रहा हूँ? मुझे उपक्विरी का उपयोग करना पसंद नहीं है अगर मुझे यह नहीं है और मुझे याद है कि आप कुछ उपयोग कर सकते हैं लेकिन मैं भूल जाता हूं कि यह क्या है। कोई उपाय?
आप किस rdbms का उपयोग कर रहे हैं? –
मुख्य रूप से SQL सर्वर, लेकिन यदि यह ऑरैकल संगत है तो यह शानदार है – jenswirf
मेरा 'ROW_NUMBER' दृष्टिकोण ओरेकल में भी काम करता है क्योंकि मैंने एसक्यूएल-फ़िल्ड के साथ परीक्षण किया है। मेरे जवाब में लिंक पर एक नज़र डालें। –