group by 中有计算问题的问答整理

group by 中有计算问题的问答整理

 

被评分人 评分人  评分
张        李      12
陈        李      12
冯        李      12
杨        李      12
陈        张      12
李        张      12
冯        张      12
杨        张      12
张        冯      12
李        冯      12
杨        冯      12
陈        冯      12
张        杨      12
李        杨      12
冯        杨      12
陈        杨      12

张        陈      12
冯        陈      12
杨        陈      12
李        陈      12
select 被评价人,avg(评分) from test group by 被评价人
我想问一下在这里求平均分的时候,我想得到去掉每个被评价人的一个最高分和一个最低分然后再求平均分有什么办法呢?

 

   
   
-- Test Data: # --整理zjcxc给出的方法 IF object_id ( ' # ' ) is not NULL Drop table # else Create table # (被评分人 nvarchar ( 20 ),评分人 nvarchar ( 20 ),评分 int ) Go insert # select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' Union all select ' ' , ' ' , ' 12 ' -- (20 行受影响) -- select * from # select 被评分人, ( SUM (评分) - MIN (评分) - MAX (评分)) / ( COUNT ( * ) - 2 ) 得分 from # group by 被评分人 /* 被评分人 得分 陈 12 冯 12 李 12 杨 12 张 12 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值