Je cherche à compter le nombre de lignes correspondantes pour chaque identifiant dans le tableau ci-dessous. Bien qu'une option soit de créer une autre table qui garde la trace du nombre de chaque catégorie, je préférerais résoudre ceci sans créer une deuxième table (idéalement sans table temporaire aussi).Sélectionnez le nombre de lignes correspondantes d'une colonne particulière dans MySQL
Mon tableau:
+---------+----------------+
| id | category |
+---------+----------------+
| 3611383 | AAAAAAAAAAAAAA |
| 3611382 | AAAAAAAAAAAAAA |
| 3611381 | AAAAAAAAAAAAAA |
| 3611378 | AAAAAAAAAAAAAA |
| 3611377 | AAAAAAAAAAAAAA |
| 3611376 | AAAAAAAAAAAAAA |
| 3611374 | AAAAAAAAAAAAAA |
| 3611373 | AAAAAAAAAAAAAA |
| 3611372 | BBBBBBBBBBBBBB |
| 3611371 | BBBBBBBBBBBBBB |
| 3611370 | BBBBBBBBBBBBBB |
| 3611369 | BBBBBBBBBBBBBB |
| 3611366 | CCCCCCCCCCCCCC |
| 3611365 | CCCCCCCCCCCCCC |
| 3611364 | CCCCCCCCCCCCCC |
+---------+----------------+
sortie souhaitée:
+---------+----------------+---------+
| id | category | count |
+---------+----------------+---------+
| 3611383 | AAAAAAAAAAAAAA | 8 |
| 3611382 | AAAAAAAAAAAAAA | 8 |
| 3611381 | AAAAAAAAAAAAAA | 8 |
| 3611378 | AAAAAAAAAAAAAA | 8 |
| 3611377 | AAAAAAAAAAAAAA | 8 |
| 3611376 | AAAAAAAAAAAAAA | 8 |
| 3611374 | AAAAAAAAAAAAAA | 8 |
| 3611373 | AAAAAAAAAAAAAA | 8 |
| 3611372 | BBBBBBBBBBBBBB | 4 |
| 3611371 | BBBBBBBBBBBBBB | 4 |
| 3611370 | BBBBBBBBBBBBBB | 4 |
| 3611369 | BBBBBBBBBBBBBB | 4 |
| 3611366 | CCCCCCCCCCCCCC | 3 |
| 3611365 | CCCCCCCCCCCCCC | 3 |
| 3611364 | CCCCCCCCCCCCCC | 3 |
+---------+----------------+---------+
Le plus proche que j'ai obtenu est
SELECT id, category, count(category) AS c FROM mytable ORDER BY id DESC;
Mais ce produit volonté seule ligne:
+---------+----------------+---------+
| id | category | c |
+---------+----------------+---------+
| 3611383 | AAAAAAAAAAAAAA | 8 |
+---------+----------------+---------+
Merci, c'est exactement ce que je cherchais! –