**发现sql去掉最高分和最低分没多少人写,那我来写一篇**

标签: sql去掉最高最低分
1171人阅读 评论(0) 收藏 举报
分类:

我现在要实现的业务是去掉专家打分的n个最高分和教师打分的m个最低分,还要从,还有专家和教师的权重,再计算平均分。
我们来理一下逻辑,首先我们要拿到去掉最高分和最低分的表,表为activity_papers_mark,type=0代表专家,type=1代表教师

(SELECT * FROM activity_papers_mark WHERE type = 0 ORDER BY score DESC LIMIT n,50000) 
UNION ALL (SELECT * FROM activity_papers_mark WHERE type = 1 ORDER BY score LIMIT n,50000)

这边50000写的不好,其实是需要去count(*)的,但是mysql没有更好的办法去实现从第几列开始。下一步就是拿到教师的平均分和专家的平均分,需要乘以权重

    1.
SELECT  am.pid, ( IFNULL( avg(CASE am.type
 WHEN 0 THEN score * 1 END  ), 0 ) + IFNULL( avg(CASE am.type WHEN 1 THEN score * 0 END ),0)) AS 'score' FROM   (( SELECT * FROM activity_papers_mark WHERE type = 0    ORDER BY score DESC LIMIT 1, 50000  ) UNION ALL             (SELECT * FROM activity_papers_mark WHERE type = 1
ORDER BY score LIMIT 0,50000 )) am

最后可以加总的where条件,这当然根据自己的需要去改了
第一次,写的不好请多见谅

查看评论

有趣的SQL(如何去掉一个最高分,一个最低分)

通过以下SQL 可以实现去掉一个最高分一个最低分 而且即就是最高 最低分有重复的也可以实现。示例数据: 评委     歌手     得分 A ...
  • jeriffe
  • jeriffe
  • 2006-12-20 13:13:00
  • 1519

mysql 数据查询出排序中的最大值和最小值

两种方法: 1、 取排序最大值: select * from order by time DESC LIMIT 0,1; 取排序最小值: select * from user order b...
  • u010865136
  • u010865136
  • 2015-08-12 17:58:35
  • 9299

一句SQL查出所有课程成绩最高和最低的学生及其分数

去成都一家游戏公司面试大数据岗,逼格挺高的一家公司,去了就让做一套题,猝不及防啊。 有一道数据库方面的题是:用一句SQL查出所有课程成绩最高和最低的学生及其分数。 ps:很久没有接触SQL...
  • caiandyong
  • caiandyong
  • 2016-08-31 13:20:10
  • 11764

**发现sql去掉最高分和最低分没多少人写,那我来写一篇**

发现sql去掉最高分和最低分没多少人写,那我来写一篇我现在要实现的业务是去掉专家打分的n个最高分和教师打分的m个最低分,还要从,还有专家和教师的权重,再计算平均分。 我们来理一下逻辑,首先我们要拿到...
  • u012026456
  • u012026456
  • 2016-06-01 13:24:23
  • 1171

优化<em>sql</em>语句 效率<em>最高</em>

优化<em>sql</em>语句 使得数据查询更新<em>删除</em>效率更快优化<em>sql</em>语句 使得数据查询更新<em>删除</em>效率...举报的资源分: 4 *类型: *详细原因: 取  消 提  交 优化...
  • 2018年04月15日 00:00

oracle 去掉两个最高分,去掉两个最低分

同事有个需求,做个评分的功能,要求去掉两个最高分,去掉两个最低分,剩下的求平均分。 oracle有对应的max,min,last,first,可惜,这回是去掉两个,而不是去掉一个,或许人家国外就没有...
  • jdsnhan
  • jdsnhan
  • 2011-08-12 16:10:50
  • 1919

C语言之基本算法08—去掉最高分去掉最低分求平均值

// /* ================================================================== 题目:选拔赛中通常用这样的办法求选手分数,去掉一...
  • LZX19901012
  • LZX19901012
  • 2015-07-07 04:16:19
  • 4874

SQL查询成绩表中的每科第三名

SQL查询成绩表中的每科第三名 题目要求 表格数据 grade表 c_id c_no c_name 1 1 80 1 2 90 1 3 70 1 4...
  • g1418377085
  • g1418377085
  • 2017-08-23 11:39:50
  • 543

sql分组例子:查询某门课是最高成绩的记录

一直没有弄熟悉sql分组的问题,前些天看到一个面试题,把弄出来了,发到这里与大家分享一下。 这里介绍一下分组求最高成绩的学生ID的例子,要使用一句sql语句实现。 本来的题目是求每门课最高成绩的学...
  • wym3587
  • wym3587
  • 2015-03-19 15:56:14
  • 12788

c++实现一个打分算法(去掉最低分和最高分求平均值)

#include using namespace std; const int StuNum = 10; double countavergescore(double * arr, int n)...
  • shiwazone
  • shiwazone
  • 2015-04-14 20:54:59
  • 1997
    个人资料
    等级:
    访问量: 1379
    积分: 37
    排名: 192万+
    文章分类
    文章存档