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

MYSQL-databaseforespørgsel for at returnere højeste score

Jeg tror, ​​det er det, du vil have, dette vil give dig den studerende med den højeste score på hvert emne, hvis du vil have et bestemt emne, kan du ændre WHERE SubjectID=Subjects.SubjectID til 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)

Gennemsnitligt:

 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;

Her er en fungerende violin for at se resultater af højeste score og gennemsnit.



  1. Forskellen mellem SQL og NoSQL

  2. Sådan fungerer Scale()-funktionen i PostgreSQL

  3. Sådan reduceres størrelsen af ​​SQL Server-tabel, der voksede fra en datatypeændring

  4. MySQL SUM-funktion i flere joinforbindelser