加入原始的sql是select name, AVG(Score), MIN(Score), MAX(Score)
from Game
group by name表数据如下
name Score
aaa 10
aaa 5
aaa 1
aaa 7
aaa 8按照比赛规则,平均分应该是去掉最大和最小得分(10,1)计算 (5,7,8)的平均分 6.67
而目前通过sql,拿到的平均分是5个数的平均分(6.2)
我想问有没有方法在sql里,直接扣除最大最小得分,拿到剩下数据的平均分
from Game
group by name表数据如下
name Score
aaa 10
aaa 5
aaa 1
aaa 7
aaa 8按照比赛规则,平均分应该是去掉最大和最小得分(10,1)计算 (5,7,8)的平均分 6.67
而目前通过sql,拿到的平均分是5个数的平均分(6.2)
我想问有没有方法在sql里,直接扣除最大最小得分,拿到剩下数据的平均分
from ttp a where score<>dmax('score','ttp','name="' & a.name & '"') and score<>dmin('score','ttp','name="' & a.name & '"') group by name
FROM ttp a LEFT JOIN (SELECT NAME, MIN(Score) AS mi, MAX(Score) AS ma
FROM ttp GROUP BY NAME) b ON a.`name`=b.`name` AND (a.score=b.mi OR a.score=b.ma)
WHERE b.name IS NULLGROUP BY a.`name`