题解 | #查找排除当前最大、最小salary之后的员工的平均工资avg_salary#

查找排除当前最大、最小salary之后的员工的平均工资avg_salary

http://www.nowcoder.com/practice/95078e5e1fba4438b85d9f11240bc591

使用rank() 函数可以避免多个最大/最小值出现
select avg(if(rank1<>1 and rank2<>1, salary, null)) from
(select salary
,rank() over (order by salary) as rank1
,rank() over (order by salary desc) as rank2
from salaries
where to_date = '9999-01-01') t1
全部评论

相关推荐

评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务