Sql 在where子句中放置平均函数

Sql 在where子句中放置平均函数,sql,oracle,Sql,Oracle,我想显示收入高于平均工资的所有员工的员工编号、姓氏和工资,并按工资升序对结果进行排序。然而,我得到了一个错误“这里不允许使用组函数”。我该怎么写呢 select employee_id,last_name,salary from employees where salary > avg(salary) order by salary; 使用AVG()OVER()窗口聚合函数 select * from ( select employee_id,last_name,salary,avg(

我想显示收入高于平均工资的所有员工的员工编号、姓氏和工资,并按工资升序对结果进行排序。然而,我得到了一个错误“这里不允许使用组函数”。我该怎么写呢

select employee_id,last_name,salary from employees 
where salary > avg(salary)
order by salary;
使用
AVG()OVER()
窗口聚合函数

select * from
(
select employee_id,last_name,salary,avg(salary)over() as avg_salary from employees 
) e
where salary > avg_salary 
order by salary;
子查询周围不需要()吗?我刚刚提交了一份编辑稿,@luistiejon。
select * from
(
select employee_id,last_name,salary,avg(salary)over() as avg_salary from employees 
) e
where salary > avg_salary 
order by salary;