select
department,
employee_name,
salary
from
(select *,
row_number() over(partition by department order by salary desc) as rk
from employees)t
where rk<=2
order by department,salary desc;

select
department,
employee_name,
salary
from
(select *,
row_number() over(partition by department order by salary desc) as rk
from employees)t
where rk<=2
order by department,salary desc;