Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2011, 11h29   #1
Invité régulier
 
Inscription : septembre 2007
Messages : 26
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : septembre 2007
Messages : 26
Points : 6
Points : 6
Par défaut Requête DateTime sur une semaine groupée par jour et par heure

Bonjour,

J'ai une table avec 2 champs qui m'intéressent dans ma requête : EventTime au format DateTime, et CountIn au format INT. Le champ EventTime contient des données de date toutes les 30 minutes (2011-03-07 01:00:00, 2011-03-07 01:30:00, etc…).

Je fais déjà une requête ressemblante :
Code :
1
2
3
4
SELECT EventTime - INTERVAL 30 MINUTE AS hour, SUM(CountIn) AS total 
FROM matable 
WHERE YEAR(EventTime) = ".$annee." AND MONTH(EventTime) = ".$mois." AND DAYOFMONTH(EventTime) = ".$day." 
GROUP BY HOUR(hour)
Là je récupère les résultats avec sommes par heure du CountIn et groupés par heure sur une journée complète. Je voudrais exactement le même type de requête mais sur une semaine complète. Le script php pourra fournir les deux dates (lundi et dimanche de la semaine) du type YYYY-MM-DD…

J'ai essayé ça :
Code :
1
2
3
4
SELECT EventTime - INTERVAL 30 MINUTE AS hour, SUM(CountIn) AS total 
FROM matable 
WHERE EventTime >= '2011-03-07' AND EventTime <= '2011-03-13'
GROUP BY HOUR(hour)
et ça :
Code :
1
2
3
4
SELECT EventTime - INTERVAL 30 MINUTE AS hour, SUM(CountIn) AS total 
FROM matable 
WHERE YEAR(EventTime) = 2011 AND MONTH(EventTime) = 03 AND DAYOFMONTH(EventTime) >= 7 AND DAYOFMONTH(EventTime) =< 13 
GROUP BY HOUR(hour)
mais ça me retourne les enregistrements uniquement du 7 mars ? comme si le interval bloquait à minuit…
une idée ?
cerealkiller est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 15h54   #2
Invité régulier
 
Inscription : septembre 2007
Messages : 26
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : septembre 2007
Messages : 26
Points : 6
Points : 6
bin en fait c'était tout bête…

Code sql :
1
2
3
4
SELECT EventTime - INTERVAL 30 MINUTE AS hour, SUM(CountIn) AS total 
FROM matable 
WHERE EventTime >= '2011-03-07' AND EventTime <= '2011-03-13' 
GROUP BY DAY(EventTime), HOUR(hour)

J'aurais préféré récupérer un array dont la première dimension est celle du jour, mais ça va se trier tout seul en php… !
cerealkiller est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h49.


 
 
 
 
Partenaires

Hébergement Web