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

SQL में दिनांक के अनुसार निश्चित मान के साथ नवीनतम दो पंक्तियाँ कैसे प्राप्त करें?

संपादित करें उसी varchar2 . के लिए डुप्लीकेट दिनांक मान की गणना नहीं करने के लिए अपडेट किया गया ।

बदला गया RANK() DENSE_RANK() . के साथ जैसे कि यह लगातार रैंक प्रदान करता है, फिर distinct . का उपयोग किया जाता है डुप्लिकेट को खत्म करने के लिए।

आप DENSE_RANK()<का उपयोग कर सकते हैं /ए>

SELECT DISTINCT TXT, ENTRY_DATE
  FROM (SELECT txt,
               entry_date,
               DENSE_RANK () OVER (PARTITION BY txt ORDER BY entry_date DESC)
                  AS myRank
          FROM tmp_txt) Q1
 WHERE Q1.MYRANK < 3
ORDER BY txt, entry_date DESC

इनपुट:

txt | entry_date

xyz | 03/11/2014
xyz | 25/11/2014
abc | 19/11/2014
abc | 04/11/2014
xyz | 20/11/2014
abc | 02/11/2014
abc | 28/11/2014
xyz | 25/11/2014
abc | 28/11/2014

परिणाम:

txt | entry_date

abc | 28/11/2014
abc | 19/11/2014
xyz | 25/11/2014
xyz | 20/11/2014



  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. क्रिएट का उपयोग किए बिना Oracle में एक दृश्य को परिभाषित करें

  3. Oracle में समय के बिना दिनांक प्रकार

  4. .NET / Oracle:प्रोग्राम के रूप में डीडीएल स्टेटमेंट के साथ एक स्क्रिप्ट को कैसे निष्पादित करें?

  5. एसक्यूएल कमांड में तारीख की तुलना करें