मुझे लगता है कि आप यही चाहते हैं, यह आपको प्रत्येक विषय पर उच्चतम स्कोर वाला छात्र मिलेगा, यदि आप किसी विशेष विषय को चाहते हैं, तो आप WHERE SubjectID=Subjects.SubjectID
बदल सकते हैं। करने के लिए WHERE SubjectID=particular_subject_id
SELECT Student.FirstName, Subjects.SubjectName, Grade.Grade, Subjects.SubjectID FROM
Student INNER JOIN Grade ON Grade.StudentID=Student.StudentID
INNER JOIN Subjects ON Grade.SubjectID=Subjects.SubjectID WHERE Grade.Grade=
(SELECT MAX(Grade) FROM Grade WHERE SubjectID=Subjects.SubjectID)
औसत के लिए:
SELECT Subjects.SubjectName, AVG(Grade.Grade), Grade.ClassID, Subjects.SubjectID
FROM Grade INNER JOIN Subjects ON Grade.SubjectID=Subjects.SubjectID
GROUP BY Grade.ClassID, Grade.SubjectID;
यह रहा fiddle काम कर रहा है उच्चतम स्कोर और औसत के परिणाम देखने के लिए।