Я бы использовал функцию ROW_NUMBER
analyti c:
with temp as
(select employee_number,
effective_date,
name,
performance_rating,
comments,
--
row_number() over (partition by employee_number, extract (year from effective_date)
order by effective_date desc
) rn
from your_table
)
select employee_number,
effective_date,
name,
performance_rating,
comments
from temp
where rn = 1
order by employee_number, effective_date;