Je connais l'utilisation basique de COUNT (*) et je me demande si je peux l'utiliser ou une autre fonction pour obtenir le résultat suivant.Comment compter les lignes dans MySQL?
J'ai une table avec les gens et les produits qu'ils ont achetés (product_id
_). J'ai une deuxième table qui mappe chaque product_code
à un seul product_category
.
L'utilisation d'un SELECT
simple, je peux combiner les deux tables pour obtenir:
first last product_code product_category
John BGood 100 Food
John BGood 29 Beverage
John BGood 30 Beverage
Rita Black 25 Fashion
Betty Rock 36 Electronics
Betty Rock 72 Food
Betty Rock 100 Food
Betty Rock 36 Electronics
Mais ce que je voudrais est de compter pour chaque personne le nombre de produits qu'elle a acheté dans chaque catégorie. product_category
est une énumération avec 5 valeurs possibles (les quatre ci-dessus et Other
). Je voudrais avoir une table comme:
first last product_category count
John BGood Food 1
John BGood Beverage 2
John BGood Fashion 0
John BGood Electronics 0
John BGood Other 0
Betty ...
Je pense que vous devez regrouper par 'first' et' last' aussi parce que vous ne voulez pas agréger sur le total de toutes les catégories, mais sur toutes les catégories de la personne correspondante. – Flinsch