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

Isi nilai null dengan jumlah non-null terakhir - Oracle SQL

nilai_terakhir dengan IGNORE NULLS berfungsi dengan baik di Oracle 10g:

select item, year, month, amount, 
       last_value(amount ignore nulls) 
         over(partition by item 
              order by year, month 
              rows between unbounded preceding and 1 preceding) from tab;

rows between unbounded preceding and 1 preceding menyetel jendela untuk fungsi analitik.

Dalam hal ini Oracle mencari LAST_VALUE di dalam grup yang didefinisikan dalam PARTITION BY (item yang sama) dari awal (UNBOUNDED PRECEDING) hingga baris saat ini - 1 (1 PRECEDING)

Ini adalah pengganti umum untuk LEAD/LAG dengan IGNORE NULLS di Oracle 10g

Namun, jika Anda menggunakan Oracle 11g, Anda dapat menggunakan LAG dari jawaban Gordon Linoff (ada kesalahan ketik kecil dengan "abaikan nol")



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Percepat to_sql() saat menulis Pandas DataFrame ke database Oracle menggunakan SqlAlchemy dan cx_Oracle

  2. Oracle - Mengapa saya harus menggunakan paket daripada prosedur atau fungsi yang berdiri sendiri?

  3. Kata kunci Unik vs Berbeda di Oracle

  4. Oracle Mengonversi TIMESTAMP dengan Timezone ke DATE

  5. SQL Untuk Pembaruan Lewati Kueri Terkunci dan Java Multi Threading - Cara memperbaikinya