试图从一组聚合中获取最大值

时间:2013-12-12 19:20:31

标签: sql sqlite

这里我的架构:考试(int students,int scores) 我正在编写一个SQL查询来查找学生分数之间的最大差异。

我已经能够使用此查询生成具有学生ID及其传播的查询:

select student, max(score) - min(score) from exams group by student;

现在这是我难倒的地方。如何获得点差的最大值?更具体地说,我真的不明白在我的初始查询之外的select语句中要放什么。

2 个答案:

答案 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

这至少会显示从最高到最低的结果