sql >> Databáze >  >> RDS >> Oracle

Oracle self join počínaje minimální hodnotou (rok měsíce) pro každý oddíl

Použijte MIN() jako funkce okna:

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

Poznámka:Pokud col2 není datum, můžete jej převést:

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. Mysql - EXPLAIN SELECT z VIEW hledá ve všech řádcích hlavní tabulky

  2. Automaticky vygenerovat hodnotu Hierarchie

  3. Nastavení work_mem v Postgresu pro konkrétní dotazy

  4. Jak FROM_BASE64() funguje v MariaDB