1つのグループの各クラスから1人の学生を探しています。さまざまなクラス グループがあり、すべてのグループにはさまざまなクラスがあり、すべてのクラスには複数の生徒がいます。下記参照:
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
クエリにはさまざまな結合が適用されています。上記のクエリで正しい結果が得られますが、少し変更する必要があります。現在のクエリは、各クラスから 1 人の学生を返します。
何が必要ですか?各クラスから 1 人の生徒が必要ですが、MAXIMUM を持っている生徒のみが必要です
table1.marks
したがって、関連するクラスで最大数の生徒を各クラスから1人持つ必要があります。誰かが解決策を提案したり、このクエリを書き直したりできますか? ありがとう :)