Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle self join zaczynające się od minimalnej wartości (lata-miesiące) dla każdej partycji

Użyj MIN() jako funkcja okna:

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

Uwaga:jeśli col2 nie jest datą, możesz ją przekonwertować:

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. Zamiana System.Data.OracleClient na Oracle.DataAccess (ODP.NET)

  2. Połącz się z Oracle SQL w Katalon Studio

  3. Oracle ODP.Net z Entity Framework 6 — ORA-00955 w trybie Wybierz z widoku tabeli

  4. Jak zaktualizować za pomocą wewnętrznego sprzężenia w Oracle

  5. Java JDBC nie może połączyć się z bazą danych Oracle za pomocą SSL