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

先找到最大值和最小值(用开窗函数排序),剔除后取平均。

select avg(t1.salary)
from (select salary, dense_rank() over (order by salary) as minSalary, dense_rank() over (order by salary desc ) as maxSalary
      from salaries
      where to_date = '9999-01-01') as t1
where t1.minSalary <> 1 and t1.maxSalary <> 1;
全部评论

相关推荐

2025-12-15 12:50
河北工程大学
sta666:我也是这个国际商业化的,三天,一天一面,就通过了,不过我是后端实习生,好好面感觉能过。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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