Requête SQL : Group by mois de l'année

Fermé
nonodu63 - 22 juil. 2011 à 11:44
apprendreEtSeDevelopper Messages postés 65 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 - 22 juil. 2011 à 11:58
Bonjour,

J'ai une table avec différentes valeurs par jour.
Cependant, j'aimerais calculer une moyenne mais par mois.

Je fais donc :

select avg(...) from ma_table group by ????

Je ne sais pas trop quoi écrire dans group by vu que je n'ai que des valeurs journalières...

Merci de m'aider.

3 réponses

ostefan Messages postés 602 Date d'inscription jeudi 9 juin 2011 Statut Membre Dernière intervention 10 octobre 2016 10
22 juil. 2011 à 11:53
bonjour,

select avg(...) distinct(mois) from ma_table order by mois

Fera la moyenne en distinguant les mois et en les classant.
1
Mihawk-- Messages postés 127 Date d'inscription samedi 16 janvier 2010 Statut Membre Dernière intervention 21 janvier 2012 28
22 juil. 2011 à 11:56
effectivement ça me parle plus ^^
0
Mihawk-- Messages postés 127 Date d'inscription samedi 16 janvier 2010 Statut Membre Dernière intervention 21 janvier 2012 28
22 juil. 2011 à 11:51
Il me semble que cela donnerai :

SELECT AVG(valeurs journalières)*, mois
FROM ma_table
WHERE GROUP BY mois

* il te faut un attribut valeursJournalieres pour rassemble toutes ces valeurs pour ensuite faire une moyenne
0
Mihawk-- Messages postés 127 Date d'inscription samedi 16 janvier 2010 Statut Membre Dernière intervention 21 janvier 2012 28
22 juil. 2011 à 11:52
Il me semble que c'est ça mais je n'en suis pas sûr =S
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
22 juil. 2011 à 11:58
Bonjour,

Voila, MONTH réccupère la valeur du moi de la date passé en paramètre, CURRENT DATE est la date actuelle.

SELECT AVG() FROM ... WHERE MONTH(ta-date)=MONTH(CURRENT DATE)
Cela te sort ta moyenne pour le moi en cour.

Au revoir =)
0