no puede usar alias de la lista de selección dentro de la cláusula WHERE (debido al Orden de evaluación de una declaración SELECT )
tampoco puedes usar OVER
cláusula dentro de la cláusula WHERE:"Puede especificar funciones analíticas con esta cláusula en la lista de selección o en la cláusula ORDER BY". (cita de 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