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