un script de statistique
10 messages
• Page 1 sur 1
- vérité
- Nouveau WRInaute

- Messages: 14
- Inscription: 15 Mai 2007
un script de statistique
j'aimerai faire un script de statistique qui me donne le nombre de clients qui ont prêté au moins deux livres. voici la table
pret
id INT
client_id INT
livre_id INT
status (' pret', ' libre')
client
id INT (correspond à client_id dans la table pret
livre
id INT (correspond à livre_id dans la table pret
voilà le probleme qui se pose: un client peut prêter plusieurs livres
dans la table pret le client_id nr1 à lui seul a prêter 3 livres. comment faire une requete qui me donne ceci :
client_id nr1 3livres
client_id nr2 1livres
..
etc
et qu'à la fin
j'ai nbre total des clients= x
nbre des clients qui ont prêter au moins 1 livre= Y
nbre nbre des clients qui ont prêter au moins 2 livres= Z
la requte pour le nbre total des clients c'est facile je l'ai déjà fait.
mysql_query("SELECT COUNT (*)as nbre_total FROM client) et ca marche.
pour le reste j'arrive pas.
Merci de bien vouloir m'aider.
pret
id INT
client_id INT
livre_id INT
status (' pret', ' libre')
client
id INT (correspond à client_id dans la table pret
livre
id INT (correspond à livre_id dans la table pret
voilà le probleme qui se pose: un client peut prêter plusieurs livres
dans la table pret le client_id nr1 à lui seul a prêter 3 livres. comment faire une requete qui me donne ceci :
client_id nr1 3livres
client_id nr2 1livres
..
etc
et qu'à la fin
j'ai nbre total des clients= x
nbre des clients qui ont prêter au moins 1 livre= Y
nbre nbre des clients qui ont prêter au moins 2 livres= Z
la requte pour le nbre total des clients c'est facile je l'ai déjà fait.
mysql_query("SELECT COUNT (*)as nbre_total FROM client) et ca marche.
pour le reste j'arrive pas.
Merci de bien vouloir m'aider.
- chtipepere
- WRInaute occasionnel

- Messages: 493
- Inscription: 8 Jan 2004
Essaies ça :
Ca donne quoi?
- Code: Tout sélectionner
SELECT
COUNT(livre_id) AS nb_livres,
client_id
FROM pret
GROUP BY client_id
ORDER BY client_id
Ca donne quoi?
- vérité
- Nouveau WRInaute

- Messages: 14
- Inscription: 15 Mai 2007
Dans la table pret il ya sur 5 clients 4 qui ont prêté minimum un livre
1client a preter 2 livres et les autres un seul
ta requete me donne 2 .
ce que je veux c'est ceci
nbre de client qui ont preté au moins un ivre donc 4
nbre de client qui ont preté au moin 2 livres donc 1
nbre de livre emprunter
merci de ton aide
1client a preter 2 livres et les autres un seul
ta requete me donne 2 .
ce que je veux c'est ceci
nbre de client qui ont preté au moins un ivre donc 4
nbre de client qui ont preté au moin 2 livres donc 1
nbre de livre emprunter
merci de ton aide
- chtipepere
- WRInaute occasionnel

- Messages: 493
- Inscription: 8 Jan 2004
Remercie Yoyos, je sais pas si j'aurais trouvé cette année sinon
:
Edit : Trop tard...
- Code: Tout sélectionner
SELECT
COUNT(livre_id) as nb_livres,
client_id
FROM pret
GROUP BY client_id HAVING COUNT(livre_id) > 2
ORDER BY nb_livres DESC
Edit : Trop tard...
- vérité
- Nouveau WRInaute

- Messages: 14
- Inscription: 15 Mai 2007
salut tout le monde, je reviens à la charge.
j'ai fait la requête suivante :
SELECT
COUNT(livre_id) as nb_livres,
client_id
FROM pret
GROUP BY client_id HAVING COUNT(livre_id) > 2
ORDER BY nb_livres DESC
et voici le resulat. La requête trouve 4 fois nbre livre comment faire pour obtenir 4 au lieu de ce j'ai.
nbre livre2
nbre livre1
nbre livre1
nbre livre1
j'ai fait la requête suivante :
SELECT
COUNT(livre_id) as nb_livres,
client_id
FROM pret
GROUP BY client_id HAVING COUNT(livre_id) > 2
ORDER BY nb_livres DESC
et voici le resulat. La requête trouve 4 fois nbre livre comment faire pour obtenir 4 au lieu de ce j'ai.
nbre livre2
nbre livre1
nbre livre1
nbre livre1
-

YoyoS - WRInaute accro

- Messages: 3827
- Inscription: 14 Sep 2006
vérité a écrit:voilà le probleme qui se pose: un client peut prêter plusieurs livres
dans la table pret le client_id nr1 à lui seul a prêter 3 livres. comment faire une requete qui me donne ceci :
client_id nr1 3livres
client_id nr2 1livres
..
Requete 1:
- Code: Tout sélectionner
SELECT client_id, COUNT(livre_id) as nb_livres
FROM pret
GROUP BY client_id
HAVING COUNT(livre_id) >= 2
ORDER BY nb_livres DESC
vérité a écrit:et qu'à la fin
j'ai nbre total des clients= x
nbre des clients qui ont prêté au moins 1 livre= Y
nbre nbre des clients qui ont prêter au moins 2 livres= Z
Requête (pour le nb de client qui ont prêté au moins un livre)
- Code: Tout sélectionner
SELECT count(C.id) as nb_clients
FROM client AS C,pret AS P
WHERE C.id = P.client_id
GROUP by C.id [color=red]Je suis pas sure si c'est obligatoire[/color]
HAVING count(P.livre_id) >= 1 ;
Requête (pour le nb de client qui ont prêté au moins deux livres)
- Code: Tout sélectionner
SELECT count(C.id) as nb_clients
FROM client AS C,pret AS P
WHERE C.id = P.client_id
GROUP by C.id [color=red]Je suis pas sure si c'est obligatoire[/color]
HAVING count(P.livre_id) > 1 ;
Voila, j'ai ptet fait des erreurs, je n'ai rien pour tester et ça fait pas mal de temps que j'en ai pu fait ^^
10 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
