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

नवीनतम प्रविष्टि का चयन करें

अन्य प्रस्ताव सही हैं लेकिन सबसे कॉम्पैक्ट और सबसे तेज़ समाधान सबसे अधिक संभावना है जब आप FIRST_VALUE और LAST_VALUE एनालिटिकल फंक्शन

SELECT DISTINCT
   FIRST_VALUE(LOCATION_ID) OVER (PARTITION BY PERSON_ID ORDER BY THE_DATE 
             ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS LOCATION_ID, 
   PERSON_ID, 
   MAX(THE_DATE) OVER (PARTITION BY PERSON_ID) AS LAST_DATE
FROM YOUR_TABLE;

अन्य लोग पसंद करते हैं

SELECT 
   MAX(LOCATION_ID) KEEP (DENSE_RANK FIRST ORDER BY DATE) as LOCATION, 
   PERSON_ID, 
   MAX(DATE) as LAST_DATE
FROM YOUR_TABLE
GROUP BY PERSON_ID;

जो वही करता है, लेकिन मैं इस खंड से इतना परिचित नहीं हूं। देखें aggregate_function KEEP



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं ओरेकल एसक्यूएल में सभी प्रबंधकों के नाम और उनके सभी प्रबंधकों के नाम ढूंढना चाहता हूं

  2. क्या DSRA9010E 'setReadOnly' को दूर करने का कोई तरीका WebSphere अपवाद पर समर्थित नहीं है?

  3. SQL दिनांकों में पारित 2 के बीच कार्य दिवसों की संख्या वापस करने के लिए

  4. Oracle UTL_SMTP:Oracle वॉलेट प्रमाणीकरण का उपयोग करके अनुलग्नक उदाहरण के साथ मेल भेजें

  5. टाइप कहाँ है [Oracle.DataAccess.Client.OracleBulkCopy]?