Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL-Datenbankabfrage, um die höchste Punktzahl zurückzugeben

Ich denke, das ist, was Sie wollen, das bringt Ihnen den Schüler mit der höchsten Punktzahl in jedem Fach, wenn Sie ein bestimmtes Fach wollen, können Sie WHERE SubjectID=Subjects.SubjectID ändern zu 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)

Für den Durchschnitt:

 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;

Hier ist eine funktionierende Geige um die Ergebnisse mit der höchsten Punktzahl und dem Durchschnitt anzuzeigen.