Ich versuche, eine kurze SQL-Abfrage (in MySQL Workbench) zu schreiben, die die Anzahl der Fehler in einem Thema ausgibt, wenn es von mehr als einem Schüler fehlgeschlagen ist.SQL IS NOT NULL funktioniert nicht
Hier ist mein Versuch:
SELECT CONCAT(area, yearlevel, code) AS SubjectCode, Count(student)
FROM StudentTakesSubject
WHERE result < 50 AND result <> NULL
GROUP BY code
HAVING Count(Student) > 1;
Das Problem ist, es hält den Zählwert ausgibt, der die Null-Datensatz enthält, obwohl ich in der Abfrage angegeben haben, nicht, sie zu zählen (oder zumindest dachte ich, ich habe .. .).
EDIT: Es war die GROUP BY
Klausel, die falsch ging! Als hat Gordon Linoff in seiner Antwort darauf hingewiesen, es hätte GROUP BY SubjectCode
sein müssen und das magisch das Problem gelöst.
Vielen Dank für die konstruktiven Einsichten.
SQL SERVER oder MySQL – Ravi
Ändern Sie 'result <> NULL' durch' result IS NOT NULL'. – wchiquito
Nicht so, dass 'NULL' Ergebnisaufzeichnungen zählen' Ergebnis <50' wird herausgefiltert 'NULL's' –