簡體   English   中英

如何明智地獲得第二高薪部門?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM