Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara mendapatkan informasi catatan sebelumnya

Untuk menarik Random_1 untuk tanggal sebelumnya, Anda akan menggunakan LAG() fungsi, seperti:

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

(dan sama untuk kolom lainnya). Perhatikan bahwa hasil dari LAG() tentu saja akan menjadi NULL untuk baris paling awal - karena tidak ada nilai "sebelumnya". Jika Anda menginginkan sesuatu yang lain untuk baris pertama, bungkus semuanya dalam COALESCE() .

Juga, jika Anda memiliki id 's dari beberapa jenis dan Anda bergabung dengan id juga, maka Anda tidak ingin mencampur tanggal untuk id yang berbeda. LAG() fungsi (dan hampir semua fungsi analitik lainnya) memungkinkan Anda untuk partition by id selain memesan berdasarkan tanggal. Anda dapat membaca definisi dan contoh di dokumentasi 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. Membuat Timer di Oracle Forms / Forms 6i dan Menampilkan Jam

  2. Kirim Email Menggunakan PLSQL

  3. Java 1.6 dan Oracle JDBC 14 setQueryTimeout tidak berfungsi

  4. Mengembalikan 1 atau 0 dalam kueri SQL tertentu

  5. Prosedur Oracle tidak mengembalikan hasil saat menjalankan dari tugas skrip di SSIS