Mysql
 sql >> Database >  >> RDS >> Mysql

Query del database MySQL per restituire il punteggio più alto

Penso che questo sia quello che vuoi, questo ti farà ottenere lo studente con il punteggio più alto su ogni materia, se vuoi una materia particolare, puoi cambiare WHERE SubjectID=Subjects.SubjectID a 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)

Per la media:

 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;

Ecco un violino funzionante per vedere i risultati del punteggio più alto e della media.