SQL stat par semaine

Résolu
tomitomas Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
tomitomas Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous,

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
A voir également:

2 réponses

deus Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   91
 
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.

1
tomitomas Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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
-1