Ich habe eine Tabelle in meiner MySQL-Datenbank, die zwei Spalten enthält: Gruppe und Untergruppe. Siehe unten.
group, subGroup
grp-A, sub-A
grp-A, sub-A
grp-A, sub-B
grp-B, sub-A
grp-B, sub-B
grp-B, sub-B
Ich versuche, die Anzahl der Datensätze für jede einzelne Paargruppe / Untergruppe zu ermitteln.
Das erwarte ich:
group, subGroup, count
grp-A, sub-A, 2
grp-A, sub-B, 1
grp-B, sub-A, 1
grp-B, sub-B, 2
Nachdem ich einige Beiträge gelesen hatte, versuchte ich mehrere SQL-Abfragen mit group by, count (), aber es gelang mir nicht, das erwartete Ergebnis zu erzielen. Wie kann ich das beheben?
Antworten:
Ich denke du suchst:
SELECT a, b, COUNT(a) FROM tbl GROUP BY a, b
quelle
a and b
sieht aus wie eine Anweisung an MySQL (nicht wirklich sicher, ob es sich um einen Syntaxfehler handelt oder ob es sich um eine Rückgabe von 0 oder 1 handelt - ich würde einen Syntaxfehler annehmen, insbesondere für varchar-Felder). Um mehrere Spalten zu gruppieren, verwenden Sie einfach ein Komma.SELECT group,subGroup,COUNT(*) FROM tablename GROUP BY group,subgroup
quelle
Sie müssen beide Spalten, Gruppe und Untergruppe, gruppieren und dann die Aggregatfunktion verwenden
COUNT()
.SELECT group, subgroup, COUNT(*) FROM groups GROUP BY group, subgroup
quelle