Verwenden Sie group by und order by an der gleichen Zeit
Ich habe 4 Tabellen
Class(ID,Name)
Month(ID,Name)
Student(ID,Name)
Examination(ID,Student,Class,Month,TotalMarks,ObtainedMarks)
den Spalten student,class,month
wurden als Referenz genommen, in Examination
Tabelle.
Möchte ich Datensätze auswählen, von Examination
Tabelle order by ObtanedMarks and Group by Class
Ich habe Folgende SQL-Abfrage
SELECT Months.Name, Class.Name AS Classname, Students.Name AS Studentname, Examination.*
FROM Class INNER JOIN
Examination ON Class.ID = Examination.Class INNER JOIN
Months ON Examination.Month = Months.ID INNER JOIN
Students ON Examination.Student = Students.ID
order by Obtained desc Group by Class.Name
aber die Abfrage funktioniert nicht für mich.
- Was nicht funktioniert?
- Was die SQL-engine verwenden Sie?
- Welche Datenbank verwendest du und welche Fehlermeldungen siehst du?
- Sie sind nur der Gruppierung nach einer Spalte, aber die anderen Spalten werden keine Aggregatfunktionen.
- Wenn Sie möchten, um wirklich helfen, sollten Sie einige Beispiel für die Eingabe und die Ausgabe, die Sie erwarten. So wie es jetzt ist, gibt es mehrere mögliche Lösungen, je nach der endgültigen Form der Daten, die Sie haben wollen.
- Hat der unten hier helfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie seine falsch herum,
Group By
kommt vorOrder By
. Sie müssen entweder gehören alle die Spalten, die Sie anzeigen möchten, in derGroup By
oder die Verwendung einer AggregatfunktionSum
,Max
usw. auf die Felder, die nicht in derGroup By
- Klausel.Siehe aktualisierte Abfrage...
GROUP BY
Betreiber und erzeugt eine Fehlermeldung mit einem standard-konformen SQL-Datenbank