Sql 嵌套函数中的按错误分组

Sql 嵌套函数中的按错误分组,sql,oracle,group-by,Sql,Oracle,Group By,我有一个员工数据表。我想显示那些收入高于employees表中所有员工平均工资的员工。到目前为止,我编写的代码是: select employee_id, last_name, salary from employees group by employee_id having salary > (select avg(sum(salary)) from employees); 但是,当我运行此命令时,出现了一个没有group by error的嵌套函数

我有一个员工数据表。我想显示那些收入高于employees表中所有员工平均工资的员工。到目前为止,我编写的代码是:

select employee_id, last_name, salary
from employees
group by employee_id
having salary > (select avg(sum(salary))
                 from employees); 
但是,当我运行此命令时,出现了一个没有group by error的嵌套函数。如何解决此问题?

按不必要的分组。外部分组依据不在聚合上。只有在使用聚合函数时才需要Group by。因为没有聚合函数,所以没有分组依据

子查询中不需要的双重聚合avgsumsalary Avg本身将返回平均值。不确定sum试图做什么。如果你平均这个总数,你将得到这个总数。假设我有1,2,3,4,5:总和是15,总和的平均值是15。然而,平均值为3

而且没有组队,已经成为一个地方


你不是只想要平均值吗?不需要求和?平均工资不是所有员工工资的总和除以计数吗?那么为什么要求和呢?数学没有意义,编译器要求你更好地定义你想要的东西。也许你的意思是:拥有工资>从员工中选择平均工资;如果你这样做的话,就不需要外组了。谢谢xQbert!我犯了多么愚蠢的错误;忘了Avg就够了。我们有时都需要第二副眼睛。我通常也需要2 1/2的大脑;1&1/2来弥补我所犯的错误
SELECT employee_id, last_name, salary
FROM  employees
WHERE salary > (SELECT avg(salary)
                 FROM employees);