方法一:

思路:用两个子查询找出最大工资和最小工资,再用not in去除最大工资和最小工资,最后记得限定时间为当前。

代码:

select
    avg(salary)
from
    salaries
where
    salary not in (
        select
            max(salary)
        FROM
            salaries
        where
            to_date = '9999-01-01'
        union all
        select
            min(salary)
        from
            salaries
        where
            to_date = '9999-01-01'
    )
    and to_date = '9999-01-01'