Vous devez d'abord obtenir le salaire maximum pour chaque département :
SELECT department, max(salary) as max_salary
FROM test
GROUP BY department
vous pouvez ensuite joindre cette sous-requête à la table de test :
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