我有一份在一组团队中工作的员工列表。我们试图找出每年每个员工的工资与其部门平均工资的差异。我一直在研究标准差,但如果我需要一个子选择来实现这一点,我会有点困惑。
表格如下所示:
我没有任何代码可以显示,因为我总是被别名困住。
最佳答案
只需将您的任务分解为简单的任务即可。让我们先找到平均工资:
Select TeamID, `Year`, AVG(Salary) avgSal
FROM Employees
GROUP BY TeamID, `Year`
现在,要获得差异,您所需要做的就是从平均工资中减去员工的工资:
SELECT e.EmployeeID, e.Salary, a.avgSal, e.Salary - a.avgSal as diff
FROM Employees e
INNER JOIN
(
Select TeamID, `Year`, AVG(Salary) avgSal
FROM Employees
GROUP BY TeamID, `Year`
) as a
ON a.TeamID = e.TeamID and a.`Year` = e.`Year`
关于mysql - 查找部门内员工的平均工资偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30566982/