J'ai une table dans ma base de données mysql qui a deux colonnes: groupe et sous-groupe. Voir ci-dessous.
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
J'essaie d'obtenir le nombre d'enregistrements pour chaque groupe/sous-groupe de couples unique.
C'est ce que j'attends:
group, subGroup, count
grp-A, sub-A, 2
grp-A, sub-B, 1
grp-B, sub-A, 1
grp-B, sub-B, 2
Après avoir lu quelques articles, j’ai essayé plusieurs requêtes SQL en utilisant group by, count (), mais je n’arrivais pas à obtenir le résultat attendu. Comment puis-je réparer cela?
Je pense que vous cherchez: SELECT a, b, COUNT(a) FROM tbl GROUP BY a, b
Vous devez regrouper les deux colonnes, groupe et sous-groupe, puis utiliser la fonction d'agrégation COUNT()
.
SELECT
group, subgroup, COUNT(*)
FROM
groups
GROUP BY
group, subgroup
SELECT group,subGroup,COUNT(*) FROM tablename GROUP BY group,subgroup
je voulais un autre cas, nombre de sous-groupes pour chaque groupe, donc c'est la requête SELECT a, b, COUNT (distinct b) FROM tbl GROUP BY a