题解 | #查找排除当前最大、最小salary之后的员工的平均工资avg_salary#
查找排除当前最大、最小salary之后的员工的平均工资avg_salary
http://www.nowcoder.com/practice/95078e5e1fba4438b85d9f11240bc591
本题的两个需要注意点的
1.当前最大、最小 salary,则必须有条件to_date='9999-01-01';
2.先求出 max(salary)、min(salary);
2.排除最大、最小,则 where 条件为 salary 不在 max(salary),min(salary) 中,还要再加一个 to_date='9999-01-01'
select avg(salary) as avg_salary
from salaries
where salary not in ((select max(salary)
from salaries
where to_date='9999-01-01'),
(select min(salary)
from salaries
where to_date='9999-01-01'))
and to_date='9999-01-01'
查看8道真题和解析