Hallo Benjamin,
ID | Name | Schalter
1 | A | j
2 | B | j
3 | C | n
4 | B | j
5 | A | n
Herauskommen soll dann :
Anzahl| Name | j | n
2 | B | 2 | 0
2 | A | 1 | 1
1 | C | 0 | 1
Du suchst eine Kreuztabelle. Schließlich werden aus den unterschiedlichen Werten in der Spalte Schalter Spaltenüberschriften.
MySQL enthält keine eingebaute Unterstützung für Kreuztabellen, aber Dein Statement läßt sich analog zu meinen Beispielen in einem Archivbeitrag zusammensetzen:
SELECT -- Gib mir
COUNT(Name) Anzahl, -- die Anzahl des Auftretens des Namens
Name, -- sowie den Namen selbst
-- berücksichtige nur Zeilen mit dem Wert j in Schalter
-- und diese Zeilen möchtest Du zählen
-- und benenne diese Reihe j
COUNT(CASE WHEN Schalter = 'j' THEN Schalter ELSE NULL END) j,
-- analog für n
-- berücksichtige nur Zeilen mit dem Wert n in Schalter
-- und diese Zeilen möchtest Du ebenfalls zählen
-- und benenne diese Reihe n
COUNT(CASE WHEN Schalter = 'n' THEN Schalter ELSE NULL END) n
FROM
Tabelle
GROUP BY Name
Freundliche Grüße
Vinzenz