假设我们每个部门都有一些员工。我们总共有 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
最佳答案
我认为有几种方法可以解决这个问题。遵循我这边的解决方案并且工作正常。
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)
来自员工 e2
WHERE e2.salary = (SELECT distinct salary FROM employee where dept_id=e2.dept_id order by salary desc limit 1,1)
按 e2.dept_id 分组
关于mysql - 如何明智地获得第二高薪部门?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55950786/