Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête de base de données MYSQL pour renvoyer le score le plus élevé

Je pense que c'est ce que vous voulez, cela vous donnera l'étudiant avec le score le plus élevé sur chaque sujet, si vous voulez un sujet particulier, vous pouvez changer 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)

Pour la moyenne :

 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;

Voici un violon fonctionnel pour voir les résultats du score le plus élevé et de la moyenne.