Lösung Übungen B: GROUP BY


B1) Wie viele Schüler wohnen in den einzelnen Orten? Ausgabe: "Ort", "Anzahl"

SELECT o.name AS Ort, COUNT(s.id) AS Anzahl
FROM schueler s, orte o
WHERE s.idOrte = o.id
GROUP BY o.id

B2) Gleich wie B1; diesmal bitte Ausgabe "Ort", "Anzahl der Schüler" und sortiert nach Anzahl absteigend

SELECT o.name AS Ort, COUNT(s.id) AS Anzahl
FROM schueler s, orte o
WHERE s.idOrte = o.id
GROUP BY o.id
ORDER BY 'Anzahl der Schüler' DESC

B3) Wie viele Schüler, die in Deutsch eine 1 haben, wohnen in den einzelnen Orten? Ausgabe: "Ort", "Anzahl Schüler", "Note Deutsch"

SELECT o.name Ort, COUNT(s.id) AS Anzahl, s.noteDeutsch NoteDeutsch
FROM schueler s, orte o
WHERE s.idOrte = o.id AND s.noteDeutsch = 1
GROUP BY o.id

B4) Wie viele Schüler, die in Deutsch oder in Mathe eine 1 haben, wohnen in den einzelnen Orten? Ausgabe: "Ort", "Anzahl Schüler"

SELECT o.name Ort, COUNT(s.id) AS "Anzahl Schüler"
FROM schueler s, orte o
WHERE s.idOrte = o.id AND (s.noteDeutsch = 1 OR s.noteMathe = 1)
GROUP BY o.id