Primeiro você tem que obter o salário máximo para cada departamento:
SELECT department, max(salary) as max_salary
FROM test
GROUP BY department
então você pode juntar de volta esta subconsulta à tabela de teste:
SELECT t.*
FROM
test t INNER JOIN (
SELECT department, max(salary) as max_salary
FROM test
GROUP BY department
) d ON t.department=d.department AND t.salary=d.max_salary