try the following:
WITH RankedEmployees AS ( SELECT departmentId, name, salary, DENSE_RANK() OVER (PARTITION BY departmentId ORDER BY salary DESC) AS salary_rank ) SELECT departmentId, name, salary FROM RankedEmployees WHERE salary_rank = 1;