SQL查询选择每个员工的平均工资

问题描述 投票:0回答:1

当我尝试选择员工姓名、姓名、工资和工资平均值时,它为所有员工返回相同的数字。 这是我输入的查询内容:

SELECT 
    Fname AS EmployeeFirstName, 
    Lname AS EmployeeLastName, 
    Salary AS Sal, 
    (SELECT AVG(Salary) FROM Employee) AS AverageSalary,
FROM 
    Employee;

这是结果的截图: enter image description here

我想计算每个员工的平均工资,有什么想法吗?

sql select
1个回答
0
投票

您应使用

GROUP BY
子句

SELECT 
    Fname AS EmployeeFirstName, 
    Lname AS EmployeeLastName, 
    Salary AS Sal, 
    AVG(Salary) AS Sal
FROM 
    Employee
GROUP BY employeeId; -- I've put this but it depends of your table

注意: 您需要将

sql_mode
设置为“only_full_group_by”或“”(空)

© www.soinside.com 2019 - 2024. All rights reserved.