Я думаю, что есть несколько способов решить проблему.Следующее решение с моей стороны работает нормально.
SELECT *
From employee e2
WHERE e2.salary = (SELECT distinct salary FROM employee where dept_id=e2.dept_id order by salary desc limit 1,1);
Мне нужна только вторая по величине зарплата с указанием отдела, который является входным массивом следующей операции в моем проекте.Наконец я использую
SELECT e2.dept_id, max(e2.salary)
From employee e2
WHERE e2.salary = (SELECT distinct salary FROM employee where dept_id=e2.dept_id order by salary desc limit 1,1)
group by e2.dept_id