Bonjour,
Ma table se présente comme ça
J'aimerais faire une requête qui compte le nombre de produit par pseudo.Code:
1
2
3
4
5
6
7
8 _______________ pseudo | produit _______________ pseudo1 | 1 pseudo1 | 1 pseudo2 | 2 pseudo2 | 2
Merci
Version imprimable
Bonjour,
Ma table se présente comme ça
J'aimerais faire une requête qui compte le nombre de produit par pseudo.Code:
1
2
3
4
5
6
7
8 _______________ pseudo | produit _______________ pseudo1 | 1 pseudo1 | 1 pseudo2 | 2 pseudo2 | 2
Merci
Salut
La 1ère chose qui m'interpelle, c'est, comment se fait il qu'il y ait autant de données redondantes (chose qu'il ne faut pas faire, ou à éviter, sauf cas particulier).
-> 2 lignes avec 2 fois "pseudo1 (idem avec "pseudo2").
-> Puis le "pseudo1" contient 2 fois le même produit.
Théoriquement, qui dit pseudo dit utilisateurs (membres, users, peu importe).
N'y a t-il pas une table "utilisateurs" avec un ID et les pseudos associés, ce qui après permettrait de lier ces 2 tables ?
Code:
1
2
3
4
5 pseudo_id | produit 1 | 1 1 | 1 2 | 2 2 | 2
Mais encore, au lieu de répéter autant de fois un même produit pour un même utilisateur, pourquoi ne pas rajouter un champ "quantité", ce qui règlerait ce problème théoriquement.
Code:
1
2
3 pseudo_id | produit | quantite 1 | 1 | 2 2 | 2 | 2
A coté de ça, un utilisateur ne peut il pas avoir des produits différents (ton schéma ne le montre pas) avec des quantités différents ?
pseudo1 : produit1 (quantité 3) + produit4 (quantité 2)
Ce qui donne 2 produits, mais aussi une quantité total de 5 produits.
Si c'est le cas, qu'est-ce que tu souhaiterais obtenir ? (2 ou 5)
Salut. :)
Je te conseille d'utiliser un GROUP BY :
Code:
1
2
3 SELECT client_id AS `Id client` , COUNT( * ) AS `Nombre de produits` FROM produits GROUP BY client_id