如果不需要考虑去除多个相同最大值和多个相同最小值(就像平时算均分去除一个最高分,一个最低分),则:

SELECT (SUM(salary)-MIN(salary)-MAX(salary))/(COUNT(*)-2) FROM salaries
WHERE to_date='9999-01-01';

如果需要考虑去除多个相同最大值和多个相同最小值,则:

SELECT avg(salary) FROM salaries
WHERE salary NOT IN (SELECT MAX(salary) FROM salaries WHERE to_date = '9999-01-01')
AND salary NOT IN (SELECT MIN(salary) FROM salaries WHERE to_date = '9999-01-01')
AND to_date = '9999-01-01';