Nombre total de clients par mois pour chaque année

Résolu/Fermé
Mikebiz Messages postés 28 Date d'inscription vendredi 3 juillet 2020 Statut Membre Dernière intervention 17 décembre 2020 - 14 juil. 2020 à 12:18
yg_be Messages postés 23232 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 septembre 2024 - 14 juil. 2020 à 21:49
Bonjour,
Je bloque sur un truc dans mon projet. J'ai une table de ce genre.
Client Annee Janvier Février Mars Avril Mai Juin Juillet Aout Septembre ... Décembre
CIE 2019 0 0 1 1 1 1 1 0 0 0
IT 2019 1 1 1 1 1 0 0 0 0 0
KAN 2020 1 1 1 1 1 1 1 0 0 0
CIE 2019 0 1 1 1 0 0 0 0 0 0
CIE 2020 1 1 1 1 1 1 1 1 1 0
---------------------------------------------------------------------------------------------------------------------------------------------------------
Total Client 2019 1 2 2 2 2 1 1 0 0 0

Je souhaiterais avoir le nombre total de client pour une année (exemple : 2019 qui est entré en paramètre) ayant passés au moins une commande sur chaque mois. Merci pour votre aide.

3 réponses

yg_be Messages postés 23232 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 septembre 2024 Ambassadeur 1 538
14 juil. 2020 à 12:30
bonjour,
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
de quelle genre de table s'agit-il?
est-ce logique d'avoir deux lignes pour le même client et la même année?
0
Mikebiz Messages postés 28 Date d'inscription vendredi 3 juillet 2020 Statut Membre Dernière intervention 17 décembre 2020
Modifié le 14 juil. 2020 à 12:45
Bonjour yg_be

Il s'agit d'une table mysql. oui c'est possible d'avoir plusieurs lignes pour le même client. Merci

Voici ce que j'avais essayer de faire :
                  $result1 = mysqli_query($int,"select client, annee, COUNT(DISTINCT janvier) as nbrejanvier, COUNT(DISTINCT fevrier) as nbrefevrier, COUNT(DISTINCT mars) as nbremars, COUNT(DISTINCT avril) as nbreavril, COUNT(DISTINCT mai) as nbremai, COUNT(DISTINCT juin) as nbrejuin, COUNT(DISTINCT juillet) as nbrejuillet, COUNT(DISTINCT aout) as nbreaout, COUNT(DISTINCT septembre) as nbreseptembre, COUNT(DISTINCT octobre) as nbreoctobre, COUNT(DISTINCT novembre) as nbrenovembre, COUNT(DISTINCT decembre) as nbredecembre from planningint3 where annee=$annee2");
                      while($row = mysqli_fetch_array($result1)){
	                  $annee2=$row['annee'];
					  $client=$row['client'];         
				       
					  $nbrejanvier=$row['nbrejanvier'];
					  $nbrefevrier=$row['nbrefevrier'];
					  $nbremars=$row['nbremars'];
					  $nbreavril=$row['nbreavril'];
					  $nbremai=$row['nbremai'];
					  $nbrejuin=$row['nbrejuin'];
					  $nbrejuillet=$row['nbrejuillet'];
					  $nbreaout=$row['nbreaout'];
					  $nbreseptembre=$row['nbreseptembre'];
					  $nbreoctobre=$row['nbreoctobre'];
					  $nbrenovembre=$row['nbrenovembre'];
					  $nbredecembre=$row['nbredecembre'];
                                      									   								   
									    } 
0
yg_be Messages postés 23232 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 septembre 2024 1 538
Modifié le 14 juil. 2020 à 12:52
je ne vois pas où, dans ton code, tu vérifies si un client a commandé tous les mois.
ta requête SQL me semble très bizarre. c'est un projet pour un cours de quelle matière?
si tu reprends ton exemple de données, quel résultat essaies-tu d'obtenir en faisant cette requête?
à quoi sert l'instruction en ligne 3?
0
Mikebiz Messages postés 28 Date d'inscription vendredi 3 juillet 2020 Statut Membre Dernière intervention 17 décembre 2020
Modifié le 14 juil. 2020 à 13:07
Quand il n'ya pas de commande pour un client dans un mois la valeur par defaut est zero.
voici en fait le résultat que j'obtiens pour ma requete


Le nombre total de clients pour l'interim ne correspond pâs réellement à la réalité. Puisque en Janvier par exemple on a 3 clients dont la commande est supérieure à zero et lui il affiche 1.
0
yg_be Messages postés 23232 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 septembre 2024 1 538
14 juil. 2020 à 21:49
cela devient de plus en plus confus.
tu n'as pas répondu à mes questions concernant le code que tu nous a montré en #2.
0