我想显示收入高于平均工资的所有员工的员工编号,姓氏和工资,并按工资上涨的顺序对结果进行排序。但是,我一直在收到错误'这里不允许组功能'。我该怎么写呢?
select employee_id,last_name,salary from employees
where salary > avg(salary)
order by salary;
答案 0 :(得分:3)
使用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;
答案 1 :(得分:1)
select a.employee_id,a.last_name,a.salary from employees a
where a.salary > (select avg(b.salary) from employees b)
order by a.salary;