Sql 获得每位员工的平均工资

Sql 获得每位员工的平均工资,sql,oracle,plsql,group-by,aggregate-functions,Sql,Oracle,Plsql,Group By,Aggregate Functions,几天前,我从零开始学习PL/SQL(没有SQL背景),现在我正在尝试使用聚合函数,并试图获得每位员工的平均工资。 表如下所示: SELECT employee, AVG(salary) FROM employees GROUP BY employee, salary 表1: 我想看看这个: 表2: 目前,我正在做这样的事情: SELECT employee, AVG(salary) FROM employees GROUP BY employee, salary 但它

几天前,我从零开始学习PL/SQL(没有SQL背景),现在我正在尝试使用聚合函数,并试图获得每位员工的平均工资。

表如下所示:

SELECT
  employee, AVG(salary)
FROM
  employees

GROUP BY employee, salary
表1:

我想看看这个:

表2:

目前,我正在做这样的事情:

SELECT
  employee, AVG(salary)
FROM
  employees

GROUP BY employee, salary
但它给出的结果与表1相同

换句话说,我想学习如何将多行合并或聚合为一行。基本上,计算每个员工的平均工资,只显示一行员工及其各自的平均工资

这是不可能的还是我只是做错了什么


谢谢。

试试这个:只需将“薪资”列从“分组依据”中删除即可

 SELECT employee, AVG(salary) FROM employees
   GROUP BY employee

尝试以下操作:只需按从组中删除“薪资”列即可

 SELECT employee, AVG(salary) FROM employees
   GROUP BY employee

这对我来说非常尴尬,但我不会删除这个问题,以防有人遇到和我相同的问题

错误在
分组依据
中,我应该只按
员工
分组

出于某种原因,我认为我必须按
选择中出现的每一列进行分组

因此,查询应该是:

SELECT
    employee, AVG(salary)
FROM
    employees  
GROUP BY 
    employee -- ERROR WAS HERE, leave just employee. -.-

很抱歉,我没有注意到一个新手犯的错误。

这对我来说太尴尬了,但我不会删除这个问题,以防有人遇到与我相同的问题

错误在
分组依据
中,我应该只按
员工
分组

出于某种原因,我认为我必须按
选择中出现的每一列进行分组

因此,查询应该是:

SELECT
    employee, AVG(salary)
FROM
    employees  
GROUP BY 
    employee -- ERROR WAS HERE, leave just employee. -.-

很抱歉,我没有注意到一个以前的新手错误。

将表格和数据作为下次文本发布,@JuanCarlosOropeza!很抱歉下一次@JuanCarlosOropeza!很抱歉对非常感谢你!我知道这可能是你见过的最愚蠢的问题。我感谢你帮了我的忙!:)把你的回答当作答案!对非常感谢你!我知道这可能是你见过的最愚蠢的问题。我感谢你帮了我的忙!:)把你的回答当作答案!你不需要添加这个。所选答案已经解释了。您不需要添加此选项。所选答案已经解释了它。