这里我的架构:考试(int students,int scores) 我正在编写一个SQL查询来查找学生分数之间的最大差异。
我已经能够使用此查询生成具有学生ID及其传播的查询:
select student, max(score) - min(score) from exams group by student;
现在这是我难倒的地方。如何获得点差的最大值?更具体地说,我真的不明白在我的初始查询之外的select语句中要放什么。
答案 0 :(得分:1)
您还可以使用子查询:
select max(spread)
from (
select student, max(score) - min(score) as spread from exams group by student
) x;
答案 1 :(得分:0)
试试这个:
select student, max(score) - min(score) as SPREAD
from exams
group by student
order by (max(score) - min(score)) DESC
这至少会显示从最高到最低的结果