Wenn ich die folgenden Daten in der Tabelle haben answers
:MySQL zählen und Gruppierungs Ergebnisse basierend auf 2 Spalten
+-------------------------------------------+
| forum_id | user_id | question_id | answer |
+-------------------------------------------+
| 1 | 1 | 1 | A |
| 1 | 1 | 2 | B |
| 1 | 2 | 1 | B |
| 1 | 2 | 2 | B |
| 1 | 3 | 1 | A |
| 1 | 3 | 2 | B |
| 2 | 1 | 1 | A |
| 2 | 2 | 2 | A |
+-------------------------------------------+
Wie würde ich die tally Antworten wählen? Um Ergebnisse wie z. B .:
+------------------------------+
| question_id | answer | count |
+------------------------------+
| 1 | A | 2 |
| 1 | B | 1 |
| 2 | A | 3 |
| 2 | B | 0 |
+------------------------------+
Dies ist, was ich im Moment habe. Ich weiß, dass es GROUP BY verwenden muss, aber ich kämpfe, um die erwarteten Ergebnisse zurückzugeben.
SELECT question_id, answer, COUNT(*)
FROM answers
WHERE forum_id = 1
GROUP BY question_id, answer
Bitte bearbeiten Sie Ihre Frage, um uns mitzuteilen, was der Unterschied zwischen Ihrer erwarteten Antwort und der Antwort ist, die Sie von Ihrer Anfrage erhalten. Ihre Anfrage sieht gut aus. –
Ich denke, dass Ihre erwartete Ausgabe falsch ist und Ihre aktuelle Abfrage korrekt ist. –
@TimBiegeleisen Op möchte zählen, wie viele Benutzer B nicht beantwortet haben. In diesem Fall 0 –