Ich benutze sql Server Management Studio 2012 und müssen eine Abfrage zu zeigen, welches Thema ein Schüler hat fehlgeschlagen ist (Bedingung für das Scheitern ist Punkt < 5.0) die meisten zum ersten Mal aus dieser TabelleVerwirren mit Abfrage in Sql
StudentID | SubjectID | First/Second_Time | Point.
1 | 02 | 1 | 5.0
2 | 04 | 2 | 7.0
3 | 03 | 2 | 9
... etc
Hier sind Abfrage meines Lehrers:
SELECT SubjectID
FROM Result(NAME OF the TABLE)
WHERE [First/Second_Time] = 1 AND Point < 5
GROUP BY SubjectID
HAVING count(point) >= ALL
(
SELECT count(point)
FROM Result
WHERE [First/Second_Time] = 1 AND point < 5
GROUP BY SubjectID
)
ich verstehe den Grund nicht die mit Abfrage zu machen. Weil Count(point)
immer >=all(select count(point) from Result where First/Second_Time=1 and point<5 group by SubjectID)
ist, ist es nicht? und es zeigt nicht, dass das Thema die meisten Schüler zum ersten Mal scheitern. Vielen Dank im Voraus und Entschuldigung für mein schlechtes Englisch
Sind Sie auf MySQL oder SQL-Server? –
Ich bin auf SQL-Server – Wick
MySQL ist nicht SQL Server. Wenn Sie SQL Server verwenden, fügen Sie keine Tags für andere DBMS wie MySQL hinzu. Tags sind hier sinnvoll - fügen Sie nur diejenigen hinzu, die für Ihre Frage relevant sind. Greife nicht einfach diejenigen an, die wie etwas klingen, was du zuvor gehört hast. Wenn Sie nicht sicher sind, ob das Tag gültig ist, lesen Sie die Beschreibung des Tags. Wenn Sie immer noch nicht sicher sind, fügen Sie es nicht hinzu; Jemand hier wird es für Sie hinzufügen, wenn es benötigt wird. Vielen Dank. –