[MYSQL] Compter le nombre d'enregistrements par client
7 réponses
Olivier Berquin
Bonjour tout le monde,
J'ai un petit soucis d'efficacit=E9.
J'ai une table "Clients" toute simple:
cl_id [INT]
cl_code [VARCHAR] (Nom du client abr=E9g=E9)
cl_nom [VARCHAR] (Nom complet)
Et une table "Jobs" un peu plus compliqu=E9e, mais les champs qui sont
concern=E9s sont les suivants:
jo_id [INT]
jo_client [INT] (r=E9f=E9rence =E0 cl_id)
Ma question est la suivante: comment faire pour avoir ne liste avec le
*nom* du client et =E0 c=F4t=E9, le nombre de jobs r=E9alis=E9 pour ce clie=
nt.
Je peux faire ceci:
SELECT jo_client, count(*) FROM Jobs GROUP BY jo_client
qui me donne le jo_client et le nombre de job r=E9alis=E9 (count(*)).
Mais je voudrais un truc plus explicite
Client Nombre
APPLE 215
MICROSOFT 317
IBM 28
HP 1986
Je suis en train de faire deux requ=EAtes, et =E7a m'emm... bcp.
La premi=E8re
SELECT jo_client, count(*) FROM Jobs GROUP BY jo_client
Et la seconde (pas finie) doit, pour chaque donn=E9e re=E7ue de cette
premi=E8re requ=EAte aller dans la table "Clients" pour conna=EEtre le nom
du client.
La solution est dans la doc mySQL de la fonction count():
mysql> SELECT student.student_name,COUNT(*) -> FROM student,course -> WHERE student.student_id=course.student_id -> GROUP BY student_name;
Olivier Berquin
On Nov 23, 2:15 am, Antoine Polatouche wrote:
Le 22/11/2010 16:54, Olivier Berquin a écrit :> Bonjour tout le monde,
Bonjour,
> N'y-t-il pas moyen de faire cela en une seule?
RTFM!
C'est toujours très agréable comme réponse... Si je poste cette question, c'est bien parce que ça fait déjà quelque s temps que je suis dessus, que j'ai regardé dans les 3 ou 4 bouquins que j'ai à ma disposition et que j'ai déjà fait pas mal de recherche sur le net...
La solution est dans la doc mySQL de la fonction count():
mysql> SELECT student.student_name,COUNT(*) -> FROM student,course -> WHERE student.student_id=course.student_id -> GROUP BY student_name;
OK. C'est presque ça, puisqu'il me manque une donnée. Mais je fais avec.
Merci, donc!
Oli.
On Nov 23, 2:15 am, Antoine Polatouche <anto...@galacsys.com> wrote:
Le 22/11/2010 16:54, Olivier Berquin a écrit :> Bonjour tout le monde,
Bonjour,
> N'y-t-il pas moyen de faire cela en une seule?
RTFM!
C'est toujours très agréable comme réponse...
Si je poste cette question, c'est bien parce que ça fait déjà quelque s
temps que je suis dessus, que j'ai regardé dans les 3 ou 4 bouquins
que j'ai à ma disposition et que j'ai déjà fait pas mal de recherche
sur le net...
La solution est dans la doc mySQL de la fonction count():
mysql> SELECT student.student_name,COUNT(*)
-> FROM student,course
-> WHERE student.student_id=course.student_id
-> GROUP BY student_name;
OK.
C'est presque ça, puisqu'il me manque une donnée.
Mais je fais avec.
Le 22/11/2010 16:54, Olivier Berquin a écrit :> Bonjour tout le monde,
Bonjour,
> N'y-t-il pas moyen de faire cela en une seule?
RTFM!
C'est toujours très agréable comme réponse... Si je poste cette question, c'est bien parce que ça fait déjà quelque s temps que je suis dessus, que j'ai regardé dans les 3 ou 4 bouquins que j'ai à ma disposition et que j'ai déjà fait pas mal de recherche sur le net...
La solution est dans la doc mySQL de la fonction count():
mysql> SELECT student.student_name,COUNT(*) -> FROM student,course -> WHERE student.student_id=course.student_id -> GROUP BY student_name;
OK. C'est presque ça, puisqu'il me manque une donnée. Mais je fais avec.
Merci, donc!
Oli.
Antoine Polatouche
Le 23/11/2010 09:33, Olivier Berquin a écrit :
On Nov 23, 2:15 am, Antoine Polatouche wrote:
Le 22/11/2010 16:54, Olivier Berquin a écrit :> Bonjour tout le monde,
Bonjour,
N'y-t-il pas moyen de faire cela en une seule?
RTFM!
C'est toujours très agréable comme réponse... Si je poste cette question, c'est bien parce que ça fait déjà quelques temps que je suis dessus, que j'ai regardé dans les 3 ou 4 bouquins que j'ai à ma disposition et que j'ai déjà fait pas mal de recherche sur le net...
Bon OK, la prochaine fois j'ajouterai un smiley.
La solution est dans la doc mySQL de la fonction count():
mysql> SELECT student.student_name,COUNT(*) -> FROM student,course -> WHERE student.student_id=course.student_id -> GROUP BY student_name;
OK. C'est presque ça, puisqu'il me manque une donnée. Mais je fais avec.
Quelle donnée ?
Le 23/11/2010 09:33, Olivier Berquin a écrit :
On Nov 23, 2:15 am, Antoine Polatouche <anto...@galacsys.com> wrote:
Le 22/11/2010 16:54, Olivier Berquin a écrit :> Bonjour tout le monde,
Bonjour,
N'y-t-il pas moyen de faire cela en une seule?
RTFM!
C'est toujours très agréable comme réponse...
Si je poste cette question, c'est bien parce que ça fait déjà quelques
temps que je suis dessus, que j'ai regardé dans les 3 ou 4 bouquins
que j'ai à ma disposition et que j'ai déjà fait pas mal de recherche
sur le net...
Bon OK, la prochaine fois j'ajouterai un smiley.
La solution est dans la doc mySQL de la fonction count():
mysql> SELECT student.student_name,COUNT(*)
-> FROM student,course
-> WHERE student.student_id=course.student_id
-> GROUP BY student_name;
OK.
C'est presque ça, puisqu'il me manque une donnée.
Mais je fais avec.
Le 22/11/2010 16:54, Olivier Berquin a écrit :> Bonjour tout le monde,
Bonjour,
N'y-t-il pas moyen de faire cela en une seule?
RTFM!
C'est toujours très agréable comme réponse... Si je poste cette question, c'est bien parce que ça fait déjà quelques temps que je suis dessus, que j'ai regardé dans les 3 ou 4 bouquins que j'ai à ma disposition et que j'ai déjà fait pas mal de recherche sur le net...
Bon OK, la prochaine fois j'ajouterai un smiley.
La solution est dans la doc mySQL de la fonction count():
mysql> SELECT student.student_name,COUNT(*) -> FROM student,course -> WHERE student.student_id=course.student_id -> GROUP BY student_name;
OK. C'est presque ça, puisqu'il me manque une donnée. Mais je fais avec.
Quelle donnée ?
Olivier Berquin
Bon OK, la prochaine fois j'ajouterai un smiley.
Ha! Ça aurait été bcp mieux, de fait. J'aime bien les smiley!
D'autre part, comment aurais-je pu trouver cette commande de la manuel?
> C'est presque a, puisqu'il me manque une donn e. > Mais je fais avec.
Quelle donn e ?
Le champs "nom du client" (cl_nom) -> SELECT jo_client, cl_nom, COUNT(*) FROM Jobs, Clients WHERE Jobs.jo_client = Clients.cl_id GROUP BY jo_client
Je le répète: merci...
Oli.
Bon OK, la prochaine fois j'ajouterai un smiley.
Ha!
Ça aurait été bcp mieux, de fait.
J'aime bien les smiley!
D'autre part, comment aurais-je pu trouver cette commande de la
manuel?
> C'est presque a, puisqu'il me manque une donn e.
> Mais je fais avec.
Quelle donn e ?
Le champs "nom du client" (cl_nom) ->
SELECT jo_client, cl_nom, COUNT(*)
FROM Jobs, Clients
WHERE Jobs.jo_client = Clients.cl_id
GROUP BY jo_client