假设每个部门有一些员工。我们共有3个部门。下面是名为“ employee”的示例源表
emp dept_id salary
A 10 1000
B 10 2000
C 10 3000
D 20 7000
E 20 9000
F 20 8000
G 30 17000
H 30 15000
I 30 30000
j 30 30000
k 30 17000
同一部门可能存在相同的薪水。
我使用具有mysql-5.7.23的Wamp-server
我想喜欢:
B 10 2000
F 20 8000
G 30 17000
答案 0 :(得分:2)
我认为有几种方法可以解决问题。在我这边遵循解决方案,效果很好。
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