假设我们每个部门都有一些员工,我们总共有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
同一部门可能存在相同的工资。
我使用的Wamp服务器有mysql-5.7.23
我想喜欢:
B 10 2000
F 20 8000
G 30 17000
最佳答案
我认为有几种方法可以解决这个问题。从我这边来的解决方案,效果很好。
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
关于mysql - 如何明智地获得第二高薪部门?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55950786/