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