加入原始的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里,直接扣除最大最小得分,拿到剩下数据的平均分
解决方案 »
- 关于批量修改mysql文章标题里面的关键字
- MySQL中如何用变量插入自增长值
- 请叫各位大哥!小弟在MySql中怎么初始化一个表中16位的自动流水号
- mySql 不支持 check么?
- 为什么用帐号mysql登陆时不能创建数据库?
- webwork中使用mysql老是报这个错误~~
- 英文好的朋友,进来帮忙看看.
- 我ADD primary怎么总不成功.有什么限制没有?
- 怎样在create table时生成一个字段为8个字节,等同于 char[8]
- 求mysql数据库的max_allowed_packet修改为32m之后,自动被还原为默认值的原因及解决方法
- 关于phpadmin中导入.csv文件出现中文乱码的问题
- 多行文本如何导入到一个字段中?
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`