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

oracle से प्रत्येक समूह के लिए नवीनतम पंक्ति का चयन करें

आप विश्लेषणात्मक कार्यों का उपयोग कर सकते हैं

SELECT *
  FROM (SELECT c.*,
               rank() over (partition by user_id order by ts desc) rnk
          FROM comments c)
 WHERE rnk = 1

इस पर निर्भर करते हुए कि आप संबंधों को कैसे संभालना चाहते हैं (यदि समान user_id के साथ दो पंक्तियाँ हो सकती हैं और ts ), आप row_number . का उपयोग करना चाह सकते हैं या dense_rank rank के बजाय कार्य करें . rank टाई होने पर कई पंक्तियों को पहले होने देगा। row_number टाई होने पर मनमाने ढंग से एक पंक्ति लौटाएगा। dense_rank rank like जैसा व्यवहार करेगा उन पंक्तियों के लिए जो पहले के लिए बंधी हैं, लेकिन अगली पंक्ति को तीसरी के बजाय दूसरी मानती हैं, यह मानते हुए कि दो पंक्तियाँ पहले के लिए टाई करती हैं।



  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 डाटाबेस 21c

  2. SQL अभ्यास के लिए Oracle एक्सप्रेस संस्करण कैसे स्थापित करें

  3. अपवाद ORA-08103:हाइबरनेट के setfetchsize का उपयोग करने पर ऑब्जेक्ट अब मौजूद नहीं है

  4. ओरेकल जॉइन (+) के साथ लेफ्ट आउटर जॉइन या राइट आउटर जॉइन कैसे खोजें

  5. सीएलओबी के रूप में एक फ़ील्ड के साथ ऑरैकल इंसर्ट स्क्रिप्ट कैसे लिखें?