我正在从一组中的每个班级中搜索一名学生。有不同的班级小组,每个小组都有不同的班级,每个班级都有多个学生。见下文:
Group1 --> Class1, Class2 etc
Class1 --> GreenStudent1, GreenStudent2 etc
Class2 --> RedStudent1, RedStudent2 etc
------------------------------------------------------
SELECT
table1.id,
table1.myname,
table1.marks
table2.studentid,
table2.studentname
FROM table1
INNER JOIN table3 ON table1.oldid = table3.id
INNER JOIN table2 ON table2.studentid = table3.newid
WHERE
table1.classgroup = 'SCI79'
GROUP BY table1.oldid
ORDER BY table1.marks DESC
查询中应用了不同的连接。上面提到的查询给了我正确的结果,但我几乎不需要修改它。当前查询返回我每个班级的一名学生。
我需要的?我需要每个班级的一个学生,但只有那个学生有 MAXIMUM
table1.marks
所以我应该让每个班级的一名学生在他们的相关班级中人数最多。任何人都可以提出一些解决方案或重写此查询吗?谢谢 :)