mysql - 查找部门内员工的平均工资偏差

标签 mysql sql sqlite

我有一份在一组团队中工作的员工列表。我们试图找出每年每个员工的工资与其部门平均工资的差异。我一直在研究标准差,但如果我需要一个子选择来实现这一点,我会有点困惑。

表格如下所示:

enter image description here

我没有任何代码可以显示,因为我总是被别名困住。

最佳答案

只需将您的任务分解为简单的任务即可。让我们先找到平均工资:

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/

相关文章:

mysql - 初学者 - 如何将信息放入表中 - 创建表

java - 错误 java.net.socketException : permission denied mysql android

mysql - 如何通过两个参数选择最后一条记录?

mysql - GROUP CONCAT REPLACE sep 字符串

android - 更新Android应用程序的策略(带数据库)

sqlite - 在 Azure 存储上托管 SQLite DB?

mysql - 一个 LEFT JOIN 的 4 表查询

sql - 在特定日期之前为任何内容创建分区

mysql - 从引用表中选择值

Android:将 bool 值保存到数据库(初学者)