SQL stat par semaine

Résolu/Fermé
tomitomas Messages postés 4 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 30 mai 2007 - 24 mai 2007 à 12:10
tomitomas Messages postés 4 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 30 mai 2007 - 30 mai 2007 à 11:57
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

2 réponses

deus Messages postés 93 Date d'inscription mercredi 20 novembre 2002 Statut Membre Dernière intervention 24 mai 2007 91
24 mai 2007 à 14:14
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 vendredi 4 mai 2007 Statut Membre Dernière intervention 30 mai 2007
30 mai 2007 à 11:57
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