Eerst moet je het maximale salaris voor elke afdeling krijgen:
SELECT department, max(salary) as max_salary
FROM test
GROUP BY department
dan kun je deze subquery weer samenvoegen met de testtabel:
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