не можете да използвате псевдоними от списъка за избор вътре в клаузата WHERE (заради Реда на оценка на израза SELECT )
също така не можете да използвате OVER
клауза в клауза WHERE - "Можете да посочите аналитични функции с тази клауза в списъка за избор или клауза ORDER BY." (цитат от 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