IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Requête DateTime sur une semaine groupée par jour et par heure


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Points : 20
    Points
    20
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    bin en fait c'était tout bête…

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    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… !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Requête basée sur la semaine d'une date
    Par SBIBobinette dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 12/03/2014, 05h30
  2. Réponses: 10
    Dernier message: 03/02/2014, 10h54
  3. Réponses: 0
    Dernier message: 13/08/2013, 09h33
  4. Requête sql sur une semaine
    Par anto2b dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/03/2012, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo