WHERE句内の選択リストからエイリアスを使用することはできません(SELECTステートメントの評価順序のため) )
また、OVER
は使用できません WHERE句内の句-「選択リストまたはORDERBY句で、この句を使用して分析関数を指定できます。」 ( 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