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

पिछले रिकॉर्ड की जानकारी कैसे प्राप्त करें

पिछली तारीख के लिए Random_1 खींचने के लिए, आप LAG() . का उपयोग करेंगे फ़ंक्शन, जैसे:

select ... ,  lag(t1.random_1) over (order by t1.date_key), .....
from  table1 t1 join table2 t2 on t1.date_key = t2.date_key
...

(और अन्य कॉलम के लिए भी)। ध्यान दें कि LAG() . का परिणाम बेशक, NULLहोगा प्रारंभिक पंक्ति के लिए - चूंकि कोई "पिछला" मान नहीं है। अगर आप पहली पंक्ति के लिए कुछ और चाहते हैं, तो सब कुछ एक COALESCE() . में लपेटें ।

साथ ही, अगर आपके पास id है किसी प्रकार का है और आप id . से जुड़ते हैं साथ ही, आप अलग-अलग आईडी के लिए तिथियों को एक साथ नहीं मिलाना चाहते हैं। LAG() फ़ंक्शन (और लगभग सभी अन्य विश्लेषणात्मक कार्य) आपको partition by id . की अनुमति देता है तिथि के अनुसार आदेश देने के अलावा। आप Oracle प्रलेखन में परिभाषा और उदाहरण पढ़ सकते हैं




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोलन साइन क्या करता है :SQL क्वेरी में क्या करें?

  2. H2 db . में PARTITION BY काम नहीं करता है

  3. Oracle REGEXP_LIKE और शब्द सीमाएँ

  4. पीएलएसक्यूएल कर्सर के लिए उदाहरण - स्पष्ट, निहित और रेफ कर्सर

  5. समूह समारोह के साथ Oracle अद्यतन विवरण