我的表结构是这样的
id(编号) scores(分数) player(参赛者) appraiser(评委)
现要一条SQL语句能实现去掉一个最高分,一个最低分取平均值,,应该如何写???
注意是:去掉一个最高分,最高分有可能有多个,最低分也是去一个
SQL语句是什么呢????
id(编号) scores(分数) player(参赛者) appraiser(评委)
现要一条SQL语句能实现去掉一个最高分,一个最低分取平均值,,应该如何写???
注意是:去掉一个最高分,最高分有可能有多个,最低分也是去一个
SQL语句是什么呢????
解决方案 »
- 请问怎么恢复SQL数据库!有两个文件:一个MDF和一个LDF文件
- 这条语句为何这么慢。。。(stuff 有4K条记录,datetimer 有5W条记录)没建索引
- 帮忙分析下数据库压力原因,拜谢
- 网站数据库被DTS导入导出工具全部覆盖掉了,有办法恢复么?
- 一个SQL语句问题,在线等
- windows7下安装了sq2000后无法建表
- IA_Subsidiary表的数据已达到六百万条记录,运行速度非常慢,请帮忙给一个SQL语句汇总一下里边的数据,谢谢!
- T-SQL的一个菜问题?
- SQL SERVER,不通过游标循环可以实现迭代操作吗?
- 能否实现数据库通用升级
- 新创企业招聘创业合作伙伴
- 求一条效率比较高的sql查询语句
from tb
group by player
having count(*) <> 2
select player,avg= (sum(scores)-min(scroes)-max(scores))/(count(*) -2)
from tb
group by player
having count(*) >1
--trycreate table T(id int,scores decimal(9,2),player nvarchar(10),appraiser nvarchar(10))insert T select 1,10,'AA','CC'
insert T select 2,10,'AA','DD'
insert T select 3,9.5,'AA','EE'
insert T select 4,9,'AA','FF'
insert T select 5,9,'AA','GG'select avg(scores)
from
(
select Row_number() over(order by scores) as rowID,scores
from T
)tmp
where rowID between 2 and (select count(*)-1 from T)