J'ai une base de données qui contient les identifiants des produits et la note sur 5 que les clients leur ont attribuée. Chaque ligne de la base de données représente une évaluation. Elle est assez simple et contient l'ID du produit et un 1 dans la colonne où l'avis était 1, 2, 3, 4 ou 5 étoiles. La base de données est structurée de la manière suivante :
Product ID | 1 | 2 | 3 | 4 | 5 |
1294518 | 1 | 0 | 0 | 0 | 0 |
9226582 | 0 | 0 | 1 | 0 | 0 |
3946583 | 0 | 0 | 0 | 1 | 0 |
7392588 | 1 | 0 | 0 | 0 | 0 |
1196585 | 0 | 0 | 0 | 0 | 1 |
1196585 | 0 | 0 | 0 | 0 | 1 |
Je veux fusionner les lignes où j'ai des identifiants de produits en double. Dans l'exemple ci-dessus, il y a deux lignes pour le produit ID 1196585. Dans ce cas, j'aimerais les combiner en une seule ligne avec un 2 sous la colonne 5 pour indiquer que ce produit a reçu deux commentaires de 5 étoiles.
Pour clarifier, je voudrais modifier le tableau de manière à ce que les lignes en double soient combinées, de sorte qu'il n'y ait plus d'ID de produit en double et que, dans chacune des colonnes 1, 2, 3, 4 et 5, je dispose du nombre de fois où chacun de ces ID de produit a reçu un avis de 1, 2, 3, 4 et 5 étoiles, par exemple.
Pourriez-vous m'aider à comprendre comment cela peut être réalisé avec SQL ?