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

Oracle vybere nejnovější záznam data

v klauzuli WHERE nemůžete použít aliasy ze seznamu select (kvůli Řádu vyhodnocení příkazu SELECT )

také nemůžete použít OVER klauzule uvnitř klauzule WHERE - "S touto klauzulí můžete zadat analytické funkce v seznamu výběru nebo v klauzuli ORDER BY." (citace z docs.oracle.com )

select *
from (select
  staff_id, site_id, pay_level, date, 
  max(date) over (partition by staff_id) max_date
  from owner.table
  where end_enrollment_date is null
)
where date = max_date


  1. Jak mohu VYBRAT řádky s MAX (hodnota sloupce), PARTITION jiným sloupcem v MYSQL?

  2. ekvivalent create_series() v MySQL

  3. Počítat kumulativní součet v Postgresql

  4. Co je tento operátor <=> v MySQL?