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 अद्यतन विवरण