题解 | #平均工资#
平均工资
http://www.nowcoder.com/practice/95078e5e1fba4438b85d9f11240bc591
思维惯性了,一看到最大最小总想到把所有最大最小去掉
SELECT AVG(salary) avg_salary
FROM salaries
WHERE to_date = '9999-01-01'
and salary not in (
select max(salary)
from salaries
WHERE to_date = '9999-01-01'
union
select min(salary)
from salaries
WHERE to_date = '9999-01-01'
)
按照现实中打分,因该是以下的代码(出自某位大佬),去掉最大最小各一个,再取平均
SELECT (SUM(salary) - MAX(salary) - MIN(salary)) / (COUNT(1)-2) avg_salary
FROM salaries where to_date = '9999-01-01';



