michmuch51 Posté 2 Mai 2006 Posté 2 Mai 2006 Bonsoir les hubiens, je suis en train de mettre en place des stats par rapport à une bdd, pour se faire je fais la requete suivante: SELECT SUM(total_commande) AS total FROM ma_table_des_commandes where o_timestamp LIKE '2006-01%' ensuite je recupere le tout avec mysql_fetch_array et ca me donne donc le total_commande pour le mois de janvier... le seul pb c'est que je fais un graphique et du coup je dois rentrer les 12 mois de l'année... Actuellement je fais donc 12 requetes à la base: 1 par mois pour une an y 'a pas moyen d'alléger ca??
Portekoi Posté 2 Mai 2006 Posté 2 Mai 2006 Essaie ceci : SELECT SUM(total_commande) AS total, substring(o_timestamp, 1, 7) as Date_ FROM ma_table_des_commandes where o_timestamp LIKE '2006-01%' Group by substring(o_timestamp, 1, 7)
michmuch51 Posté 2 Mai 2006 Auteur Posté 2 Mai 2006 Merci portekoi, mais je ne suis pas sur de tout comprendre en fait je cherche une requete sql me permettant finalement de sélectionner l'ensemble de mes total_commande, et avec du php par la suite decouper ce montant en fonction des dates pour faire finalement une seule requete pour mes 12 mois. Avec ce que tu as marqué ci-dessus je reste toujours sur janvier 2006 (ou alors c'est justement là qu'un truc m'échappe ).
Portekoi Posté 2 Mai 2006 Posté 2 Mai 2006 Et bien, avec ce que j'ai marqué au dessus, tu as le total par mois Donc si tu as plusieurs mois dans ta base, la requete devrait sortir ce qu'il faut Edit : il faut biensur enlever la clause where : SELECT SUM(total_commande) AS total, substring(o_timestamp, 1, 7) as Date_ FROM ma_table_des_commandes Group by substring(o_timestamp, 1, 7)
michmuch51 Posté 2 Mai 2006 Auteur Posté 2 Mai 2006 Vendu chef je te remercie, visiblement ca roule avec une tite boucle...
TheRec Posté 2 Mai 2006 Posté 2 Mai 2006 Bonsoir, Personnellement je procèderais comme ceci : SELECT SUM(total_commande) AS total FROM ma_table_des_commandes WHERE YEAR(o_timestamp) = 2006 GROUP BY MONTH(o_timestamp) Si tu veux grouper par mois sans se restreindre à une année en particulier il suffit de ne pas mettre la clause WHERE ... mais cela à peu de sens de faire la somme de mêmes mois à une ou plusieurs années d'écart
michmuch51 Posté 3 Mai 2006 Auteur Posté 3 Mai 2006 Bonsoir, Personnellement je procèderais comme ceci : SELECT SUM(total_commande) AS total FROM ma_table_des_commandes WHERE YEAR(o_timestamp) = 2006 GROUP BY MONTH(o_timestamp) Si tu veux grouper par mois sans se restreindre à une année en particulier il suffit de ne pas mettre la clause WHERE ... mais cela à peu de sens de faire la somme de mêmes mois à une ou plusieurs années d'écart <{POST_SNAPBACK}> Je te remercie TheRec, j'ai finalement opté pour ta solution
Portekoi Posté 3 Mai 2006 Posté 3 Mai 2006 Attention : Sur 2 années différentes, cela va additionner les 2 mois de Janvier par exemple
TheRec Posté 3 Mai 2006 Posté 3 Mai 2006 Je n'aime pas me citer...mais : Si tu veux grouper par mois sans se restreindre à une année en particulier il suffit de ne pas mettre la clause WHERE... mais cela à peu de sens de faire la somme de mêmes mois à une ou plusieurs années d'écart <{POST_SNAPBACK}> C'est ce que je voulais dire
michmuch51 Posté 3 Mai 2006 Auteur Posté 3 Mai 2006 Oui pas de pb de toute façon si on classe ca par année ca fait 1 requete par année donc c'est exactement ce que je cherchais... Merci encore les hubiens
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant