[英]How to get second highest salary department wise?
假設每個部門有一些雇員。我們共有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) 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.