假设我们每个部门都有一些员工,我们总共有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/

10-16 13:26