![](/img/trans.png)
[英]How to return highest salary of employees in each department and their employee number and department number?
[英]Finding the highest paid employee (Salary + Comm) in each department (dID)
下面是我的表,我正在尝试编写一个 MySQL 查询,该查询选择每个部门 (dID) 中薪酬最高的员工 (Salary + Comm)
EmployeeID | Name | mgr | Job | Salary| Com | HireDate | dID
1001 | Ron Smith | 1005| Writer| 90000 | 20000| 20012-04-12| 1
1002 | Ricky Lake | 1003| Writer| 55000 | 15000| 2013-01-18| 1
这是我到目前为止
SELECT dID, MAX(coalesce(Salary+Comm, Salary, Comm)) AS 'TotalPaid'
FROM Employee
Group By dID
如何允许显示其他列? 希望我已经充分解释了我想要的东西,谢谢。
这是一种方法:
select e.* from
Employee e inner join
(SELECT dID, MAX(coalesce(Salary+Comm, Salary, Comm)) as max_salary AS 'TotalPaid'
FROM Employee
Group By dID) d
on d.dID = e .dID
and coalesce(e.Salary+e.Comm, e.Salary, e.Comm)=d.max_salary
SELECT dID, MAX(Salary+Comm) AS 'TotalPaid'
FROM Employee
这将完成工作
SELECT
E2.*, E3.TotalPaid
FROM
Employee E2
INNER JOIN
(
SELECT
MAX(eID) AS eID,
dID,
MAX(
(
SELECT
MAX(
COALESCE(Salary + Comm, Salary, Comm)
)
FROM
Employee E1
WHERE
E.eiD = E1.eID
)
) AS 'TotalPaid'
FROM
Employee E
GROUP BY
dID
) AS E3
ON
E2.eID = E3.eID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.