[@徐雷frank][¥20]请教什么算法可以最优的获取某次考试班级进步、退步最快的10个学生列表-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

[@徐雷frank][¥20]请教什么算法可以最优的获取某次考试班级进步、退步最快的10个学生列表

晓生寒 2018-12-14 15:30:08 1728

现有学生成绩表,结构如下:

id、学生id、班级id、考试id、语文成绩、数学成绩、英语成绩

请教给出班级id和考试id,如何最快的计算出相对与上次考试,进步最快的10人和退步最快的10人,要求支持多客户端并发的。

说明:上次考试id=本次考试id-1

算法
分享到
取消 提交回答
全部回答(3)
  • 徐雷frank
    2019-07-17 23:21:01
    已采纳

    1、直接2次考试的分数相减,求差,数据保存到临时表
    2、对临时表进行排序,按照分数差从高到低。
    3、在临时表里top 10 降序排列,
    4、临时表里top 10 升序排列

    0 0
  • 山林野人
    2020-03-05 16:13:02

    差分之后,进行排序即可。sql中可以试用asc和desc两个关键字指定升序排列和降序排列。

    0 0
  • mqtq
    2019-07-17 23:21:01

    将两次考试的数据求差值保存在临时表里,然后分别排序输出就可以了啊

    0 0
添加回答
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

推荐文章
相似问题
推荐课程