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

Requêtes MySQL Discussion :

Moyenne des dernieres 24 heures


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai Avatar de Boudha25
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Moyenne des dernieres 24 heures
    Bonjour,
    J'ai une BD qui compile a tous les 5 minutes la température de ma piscine. J'aimerais avoir la température moyenne de chaque heure pour les dernières 24 heures. Voici la requête que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT EXTRACT(hour FROM moment) 
    	, AVG(tempF) AS moy_tempF 
    FROM piscine 
    GROUP BY EXTRACT(hour FROM moment) 
    ORDER BY EXTRACT(hour FROM moment)
    Le problème c'est que j'obtient la moyenne total de chaque heures de la bd au complet. moi je veux seulement les 24 dernières heures pour voir la tendance de la température durant une journée. Est-ce que quelqu'un peut m'aider SVP.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    En fouillant dans l'aide en ligne de MySQL, je suis tombé sur ceci.
    Donc il suffit de filtrer les lignes ne partant de "maintenant" et en enlevant 24 heures.

    Tatayo.

  3. #3
    Membre à l'essai Avatar de Boudha25
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    J'ai essaye ta solution, mais elle n'est pas adapté a ma situation. DATE_ADD et DATE_SUB nous déplace dans le temps. J'ai besoin de faire une moyenne de chaque heures des 24 dernières heures.
    Merci

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Ta requête te donne déjà une moyenne par heure, mais sans filtre.
    NOW() te permet d'avoir le timestamp courant, DATE_SUB te permet de retirer des années/mois/jours/heures... à une date.
    Donc avec les deux tu peux calculer une plage des dernières 24 heures.
    Il suffit de reprendre ta requête, d'y ajouter un simple filtre avec cette plage, et le tour est joué.

    Tatayo.

  5. #5
    Membre à l'essai Avatar de Boudha25
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Janvier 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2019
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    J'ai trouvé grâce à tes bons conseils. Voici ma requête, j'ai ajouté un where pour filtrer mes resultats.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT EXTRACT(hour FROM moment) 
    		      , AVG(tempF) AS moy_tempF 
    	  FROM piscine 
              WHERE moment > DATE_SUB(NOW(), INTERVAL 24 HOUR)
    	  GROUP BY EXTRACT(hour FROM moment) 
    	  ORDER BY EXTRACT(hour FROM moment)
    Merci, et désolé pour mon incompétence, je suis nouveau en Mysql

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

Discussions similaires

  1. [2012] [MDX] Moyenne des derniers prix relevés
    Par added dans le forum SSAS
    Réponses: 2
    Dernier message: 13/09/2017, 08h35
  2. [AC-2003] Moyenne des heures croisé dynamique
    Par Rickhq dans le forum IHM
    Réponses: 0
    Dernier message: 09/06/2014, 19h22
  3. Réponses: 6
    Dernier message: 11/12/2007, 01h05
  4. [BO]Derniere Date/heure de rafrichissement des données
    Par arnauann dans le forum Débuter
    Réponses: 2
    Dernier message: 07/03/2007, 15h03
  5. Réponses: 3
    Dernier message: 18/05/2003, 00h16

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