Comment créer cette requête ?

Eléphant du PHP | 331 Messages

26 nov. 2007, 22:34

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 !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 nov. 2007, 22:41

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]

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 331 Messages

26 nov. 2007, 22:55

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 !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 nov. 2007, 23:59

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

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 331 Messages

27 nov. 2007, 10:49

Ok, merci !