sql >> Database teknologi >  >> RDS >> Oracle

Oracle self join startende med minimumsværdi (årmåneder) for hver partition

Brug MIN() som en vinduesfunktion:

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

Bemærk:Hvis col2 er ikke en dato, kan du konvertere den:

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. Indsæt formulardata i to forskellige tabeller på databasen via jsp-siden

  2. MySQL Slet dublerede rækker, der har samme kolonneværdi

  3. MySQL Afkortning af resultat ved brug af Group_Concat og Concat

  4. Vælg forespørgsel ved hjælp af betingelsen