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

Oracle self join dimulai dengan nilai minimum (yearmonths) untuk setiap partisi

Gunakan MIN() sebagai fungsi jendela:

select t.*,
       (case when col2 < add_months(min(col2) over (partition by col1), 3)
             then col3
        end) as imputed_col3
from t;

Catatan:Jika col2 bukan tanggal, Anda dapat mengonversinya:

select t.*,
       (case when to_date(col2, 'YYYYMM') < add_months(min(to_date(col2, 'YYYYMM')) over (partition by col1), 3)
             then col3
        end) as imputed_col3
from t;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan alias tabel dalam kueri lain untuk melintasi pohon

  2. Tidak dapat menemukan driver jdbc Oracle

  3. Instal Oracle untuk konektivitas SSIS (dan driver 32 64 bit)

  4. Menyalin data antara skema Oracle menggunakan SQL

  5. SET SQLBLANKLINES:Cara Mengizinkan Baris Kosong di SQLcl &SQL*Plus