Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta do banco de dados MYSQL para retornar a pontuação mais alta


Eu acho que é isso que você quer, isso vai te dar o aluno com a maior pontuação em cada matéria, se você quiser uma matéria em particular, você pode alterar WHERE SubjectID=Subjects.SubjectID para 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)

Para média:
 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;

Aqui está um violino funcionando para ver os resultados de maior pontuação e média.