Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 18h35   #1
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Par défaut Une requête SQL

Bonjour,

Ma table se présente comme ça
Code :
1
2
3
4
5
6
7
8
 
_______________
pseudo  | produit
_______________
pseudo1 |    1
pseudo1 |    1
pseudo2 |    2
pseudo2 |    2
J'aimerais faire une requête qui compte le nombre de produit par pseudo.
Merci
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 19h15   #2
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 737
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 737
Points : 3 307
Points : 3 307
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)
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/02/2012, 21h48   #3
Invité régulier
 
Inscription : janvier 2009
Messages : 23
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 23
Points : 7
Points : 7
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
christophetd est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h39.


 
 
 
 
Partenaires

Hébergement Web