J'ai une table SQL appelée "posts" qui ressemble à ceci:
id | category
-----------------------
1 | 3
2 | 1
3 | 4
4 | 2
5 | 1
6 | 1
7 | 2
Chaque numéro de catégorie correspond à une catégorie. Comment pourrais-je compter le nombre de fois que chaque catégorie apparaît sur un message dans une seule requête SQL ?
À titre d'exemple, une telle requête peut renvoyer un tableau symbolique tel que celui-ci: (1:3, 2:2, 3:1, 4:1)
Ma méthode actuelle consiste à utiliser des requêtes pour chaque catégorie possible, telle que SELECT COUNT(*) AS num FROM posts WHERE category=#
:, puis à combiner les valeurs de retour dans un tableau final. Cependant, je recherche une solution qui n'utilise qu'une seule requête.
Réponses:
la source