如何使用SQL分析函数选择工资低于部门平均工资的员工?
我试图用SQL分析函数对那些工资低于所在部门平均工资的员工做一个精选陈述。 上面的代码显示了所有员工及其所在部门的平均值。我如何限制它,使其只选择工资<部门平均工资的员工如何使用SQL分析函数选择工资低于部门平均工资的员工?,sql,oracle-sqldeveloper,Sql,Oracle Sqldeveloper,我试图用SQL分析函数对那些工资低于所在部门平均工资的员工做一个精选陈述。 上面的代码显示了所有员工及其所在部门的平均值。我如何限制它,使其只选择工资
从员工中选择姓名、工资、ID_DEP、平均值(按ID_DEP DEP_平均值划分) 使用窗口函数和子查询:
select e.*
from (select e.*,
avg(salary) over (partition by id_dep) as avg_salary
from employees e
) e
where salary < avg_salary;
不能在where或having子句中使用窗口函数。一些数据库支持对窗口函数进行筛选的限定子句;但是Oracle没有。使用窗口函数和子查询:
select e.*
from (select e.*,
avg(salary) over (partition by id_dep) as avg_salary
from employees e
) e
where salary < avg_salary;
不能在where或having子句中使用窗口函数。一些数据库支持对窗口函数进行筛选的限定子句;但甲骨文没有