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

Oracle seleziona il record della data più recente

non è possibile utilizzare gli alias dall'elenco di selezione all'interno della clausola WHERE (a causa dell'Ordine di valutazione di un'istruzione SELECT )

inoltre non puoi usare OVER clausola all'interno della clausola WHERE - "Puoi specificare funzioni analitiche con questa clausola nell'elenco di selezione o nella clausola ORDER BY." (citazione da 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