In SQL habe ich eine Spalte namens "Antwort", und der Wert kann entweder 1 oder 2 sein. Ich muss eine SQL-Abfrage generieren, die die Anzahl der 1 und 2 für jeden Monat zählt. Ich habe die folgende Abfrage, aber es funktioniert nicht:SQL; Zählen Sie nur die in jeder Spalte angegebenen Werte
SELECT MONTH(`date`), YEAR(`date`),COUNT(`answer`=1) as yes,
COUNT(`answer`=2) as nope,` COUNT(*) as total
FROM results
GROUP BY YEAR(`date`), MONTH(`date`)
A Zählen Variation davon ist die Verwendung von count (distinct case, wenn "answer" = 1 dann "answer_else null end"). Es ist nützlicher, wenn Sie Joins haben, die dieselben Zeilen mehr als einmal erscheinen lassen und Sie einen eindeutigen Wert in der Antwort haben (mit sum (1) wird es mehrmals für dieselbe Master-Zeile hinzugefügt). Nicht hilfreich in diesem Fall, aber erwähnenswert :) –