Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

कैसे एक सबक्वेरी का उपयोग किए बिना अधिकतम अनुक्रम के साथ केवल पंक्ति का चयन करने के लिए?

SQL-सर्वर (>=2005) या Oracle (10g?) मानते हुए:

WITH CTE AS
( 
   SELECT
       ROW_NUMBER() OVER (PARTITION BY ID  ORDER BY Seq DESC) AS RN
       , ID, Age
   FROM 
       Persons
)
SELECT ID, Age 
FROM CTE
WHERE RN = 1

ROW_NUMBER परिणाम सेट के विभाजन के भीतर एक पंक्ति की अनुक्रमिक संख्या देता है।

संपादित करें :Oracle में भी काम करता है जैसा कि आप यहाँ देख सकते हैं:http://sqlfiddle.com/#!4/b7e79/2/0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle 9i एक खाली स्ट्रिंग को NULL के रूप में क्यों मानता है?

  2. Oracle SQL कॉलम प्रकार को संख्या से varchar2 में बदलने के लिए, जबकि इसमें डेटा होता है

  3. ORA-12170:TNS:कनेक्ट टाइमआउट हुआ

  4. बाहरी तालिका का स्थान और फ़ाइल नाम प्राप्त करना?

  5. Oracle में टेबल का आकार कैसे निर्धारित करें