sql >> Databáze >  >> RDS >> Mysql

Dotaz databáze MYSQL pro vrácení nejvyššího skóre

Myslím, že to je to, co chcete, tím získáte studenta s nejvyšším skóre v každém předmětu, pokud chcete konkrétní předmět, můžete změnit WHERE SubjectID=Subjects.SubjectID na 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)

Pro průměr:

 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;

Zde je funkční housle zobrazíte výsledky s nejvyšším skóre a průměrem.



  1. vytvořit Oracle View pro porovnání dat na základě podmínek

  2. Protokolování Oracle SQL Query

  3. MySQL / Classic ASP - Parametrizované dotazy

  4. MySQL ALTER TABLE trvá v malé tabulce dlouho