Page 1 sur 1

Comment créer cette requête ?

Posté : 26 nov. 2007, 22:34
par jay64
Bonjour,

J'ai une table qui liste les affaires traitées par mes consultants.
J'ai donc les champs "DateAffaire" et "NomConsultant" + différents champs pour détailler chaque affaire.

Je voudrais faire, pour chaque consultant, une requête qui va me renvoyer le nombre d'affaires traitées pour chaque mois de l'année. Cela est-il possible avec une simple requête ou dois-je le triter par du code ?

Merci !

Posté : 26 nov. 2007, 22:41
par Truc
Modération :
jay64, afin d'obtenir une réponse sur ce forum, il est indispensable de :

- Préciser quel est le SGBD utilisé ainsi que sa Version
- Poster la Structure des Tables utilisées dans la requête sous la forme d'un "CREATE TABLE ..." :!:
(Vous pouvez exporter la structure d'une table via phpMyAdmin. Retirez les colonnes inutiles)
- Indiquer le message d'erreur SQL le cas échéant.

Pensez à utiliser les balises

Code : Tout sélectionner

pour afficher les requêtes SQL, la Structure des Tables et si nécessaire un échantillon des données. Assurez vous également d'avoir suivi ces [url=http://www.phpfrance.com/forums/voir_sujet-19378.php]conseils de débogage[/url]. [/color]

Posté : 26 nov. 2007, 22:55
par jay64
OK !

J'utilises une BDD Mysql avec PhpMyAdmin

Voici la structure de la table :

Code : Tout sélectionner

CREATE TABLE `Affaires` ( `IdAffaires` MEDIUMINT NOT NULL AUTO_INCREMENT , `DateAffaire` DATE, `ThèmeAffaire` VARCHAR( 200 ) , `MotsClésAffaire` VARCHAR( 150 ) , `ClassementAffaire` BOOL, `IdConsultant` TINYINT, `IdCollectivité` TINYINT, `IdTypeTraitement` TINYINT, `IdClasses` TINYINT, PRIMARY KEY ( `IdAffaires` ) ) TYPE = MYISAM ;
Voici un jeu de données comprenant quelques enregistrements avec uniquements les champs (IdAffaire, DateAffaire, IdConsultant):

1;05/01/2007;4
1;12/01/2007;2
1;13/01/2007;4
1;05/02/2007;2
1;22/02/2007;5

Je répète ma question : Je voudrais connaitre le nombre d'affaires traitées pas les différents consultants mois/mois.

Merci !

Posté : 26 nov. 2007, 23:59
par Truc
A ajuster suivant les besoins

Code : Tout sélectionner

SELECT MONTH(DateAffaire) as mois, COUNT(*) as nb, IdConsultant FROM affaires GROUP BY mois,IdConsultant
Avec la fonction mysql MONTH() qui va bien pour regrouper par mois et par consultant

Posté : 27 nov. 2007, 10:49
par jay64
Ok, merci !