Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle wählt den neuesten Datumsdatensatz aus

Sie können keine Aliase aus der Auswahlliste innerhalb der WHERE-Klausel verwenden (wegen der Auswertungsreihenfolge einer SELECT-Anweisung )

Sie können auch nicht OVER verwenden -Klausel innerhalb der WHERE-Klausel - "Sie können Analysefunktionen mit dieser Klausel in der Auswahlliste oder der ORDER BY-Klausel angeben." (Zitat von 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