select department, employee_name, salary
from (
    select employee_name, department, salary,
    rank() over (partition by department order by salary desc) as dr
    from employees
) temp
where dr<=2
order by department, salary desc