SQL stat par semaine
Résolu
tomitomas
Messages postés
4
Date d'inscription
Statut
Membre
-
tomitomas Messages postés 4 Date d'inscription Statut Membre -
tomitomas Messages postés 4 Date d'inscription Statut Membre -
Bonjour a tous,
voila mon petit soucis ....
je voudrais pouvoir regrouper des dates par semaines !!!
je m'explique, voila ma requete (sous Access) :
au lieu d'avoir des stats au jour le jour (par rapport a la période que j'ai renseignée), j'aimerai avoir une stat par semaine sur la période que j'ai donnée.
Ex avec le mois de janvier : ce que j'ai maintenant
zone \ date | 01/01/2007 | 02/01/2007 | ,,, | 31/01/2007
____1_____|_____6____|____15____| ... |_____ 4
____2_____|_____4____|____23____| ... |_____ 0
ce que je voudrais faire :
zone\semaine | semaine 1 | semaine 2 | ... | semaine 4
____1______|_____13___|____23___| ... |_____ 60
____2______|_____17___|____44___| ... |_____ 10
Par avance merci a tout ceux qui jetteront un coup d'oeil !
Tom
voila mon petit soucis ....
je voudrais pouvoir regrouper des dates par semaines !!!
je m'explique, voila ma requete (sous Access) :
SELECT date, zone, count(statut) FROM ma_table WHERE date>=[début de période] and date<=[fin de période] GROUP BY date, zone;
au lieu d'avoir des stats au jour le jour (par rapport a la période que j'ai renseignée), j'aimerai avoir une stat par semaine sur la période que j'ai donnée.
Ex avec le mois de janvier : ce que j'ai maintenant
zone \ date | 01/01/2007 | 02/01/2007 | ,,, | 31/01/2007
____1_____|_____6____|____15____| ... |_____ 4
____2_____|_____4____|____23____| ... |_____ 0
ce que je voudrais faire :
zone\semaine | semaine 1 | semaine 2 | ... | semaine 4
____1______|_____13___|____23___| ... |_____ 60
____2______|_____17___|____44___| ... |_____ 10
Par avance merci a tout ceux qui jetteront un coup d'oeil !
Tom
Configuration: Windows XP Internet Explorer 7.0
2 réponses
-
Salut
tu peux essyer ceci
SELECT DATEADD(wk, DATEDIFF(wk, 5, Tadate), 5) as WeekGroup, zone, count(statut) FROM ma_table WHERE Tadate>=[début de période] and Tadate<=[fin de période] GROUP BY DATEADD(wk, DATEDIFF(wk, 5, Tadate), 5) , zone;
J'ai remplacé ton champ date par Tadate, car date est un mot réservé en SQL.
-
merci pour ta réponse Deus !!!
ceci dit a force de fouiller partout, j'ai enfin trouvé ma solution :
SELECT DATEPART('ww',date) AS SEM, zone, count(statut) AS Stat FROM ma_table WHERE date>=[deb] And date<=[fin] GROUP BY DATEPART('ww',date), zone;
ta solution ne prendrait elle pas seulement les 5 premiere semaines de l'année ?? (--> a quoi sert le '5' ?? )
Merci quand meme pour ton aide.
TOM