Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle самостоятелно присъединяване, започващо с минимална стойност (години, месеци) за всеки дял

Използвайте MIN() като функция на прозорец:

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

Забележка:Ако col2 не е дата, можете да го конвертирате:

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. Регулярен израз за дати в Oracle

  2. Как да използвате Oracle DMP файлове?

  3. ORA-06531 след надграждане на Oracle

  4. JDBC PreparedStatement и параметри (?) в заявка за избор

  5. Работа на SQL Agent - Връзката може да не е конфигурирана правилно или да нямате правилните разрешения за тази връзка?