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 :

Min et Max sur une periode calculée


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Par défaut Min et Max sur une periode calculée
    Salut,

    je rencontre un petit pb dans une requette sql , je cherche à obtenir le résultat de la T° la plus haute et la plus faible sur une période calculée.

    Pour calculer la periode voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $Today =  date("y/m/d");
    //   $dateCalculee = date('Y').'-'.date('m').'-'.(date('d')-1).' '.date('H').':'.date('i');
          $dateCalculee = Date('y/m/d', strtotime("-7 days"));
    Voici les chants de ma BDD :

    ffeed : nom de la pièce ou est la sonde ( Temps_chambre .. etc .... )
    value : la valeur de la sonde
    ftimestamp : la date

    Voici ma requette qui pose pb :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sqlo = "SELECT ffeed , ftimestamp , MAX(fvalue) AS fvalue FROM `".$table."` WHERE ffeed = 'Temp_Chambre' AND `ftimestamp` > '".mysql_real_escape_string($dateCalculee)."' LIMIT 1";
    $result = mysql_query($sqlo) or die('Erreur SQL !<br>'.$sqlo.'<br>'.mysql_error());
    while ($row = mysql_fetch_assoc($result)) {
       echo $row["ffeed"];
       echo '<br>';
       echo $row["fvalue"];
       echo '<br>';
       echo $row["ftimestamp"];
       echo '<br>';
    }


    Le problème est que la date retournée avec " Echo" ne correspond pas à la ligne de la valeur retournée.


    Merci pour votre aide.

  2. #2
    Membre très actif
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Par défaut
    Citation Envoyé par Alex3030 Voir le message
    Salut,
    Le problème est que la date retournée avec " Echo" ne correspond pas à la ligne de la valeur retournée.
    Merci pour votre aide.

    température max et min
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT s.id, s.fvalue, s.ffeed, s.ftimestamp
     
    FROM temperatures s,
    (
    SELECT MIN(fvalue) tmin, MAX(fvalue) tmax
    FROM temperatures
    WHERE ffeed = 'Temp_Chambre' AND DATEDIFF( NOW(), ftimestamp) <= 7
    ) t
     
    WHERE s.fvalue IN (t.tmin, t.tmax)
    AND s.ffeed = 'Temp_Chambre'
    AND DATEDIFF( NOW(), s.ftimestamp) <= 7

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Par défaut
    Citation Envoyé par manzeki Voir le message
    température max et min
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT s.id, s.fvalue, s.ffeed, s.ftimestamp
     
    FROM temperatures s,
    (
    SELECT MIN(fvalue) tmin, MAX(fvalue) tmax
    FROM temperatures
    WHERE ffeed = 'Temp_Chambre' AND DATEDIFF( NOW(), ftimestamp) <= 7
    ) t
     
    WHERE s.fvalue IN (t.tmin, t.tmax)
    AND s.ffeed = 'Temp_Chambre'
    AND DATEDIFF( NOW(), s.ftimestamp) <= 7


    Merci bcp !

    je test ce weekend

Discussions similaires

  1. [MySQL, PostGreSQL] Récupérer les max sur une jointure
    Par genova dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/12/2017, 15h25
  2. Rechercher semaine min et max sur periode glissante
    Par gudul dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/08/2014, 14h47
  3. [Vxi3] Valeur MIN ou MAX d'une SUM sur un indicateur ?
    Par samy37 dans le forum Designer
    Réponses: 5
    Dernier message: 11/08/2011, 19h09
  4. MIN MAX sur une constante
    Par olibara dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/06/2009, 10h38
  5. creation vue sur une periode
    Par LHERMITTE dans le forum Oracle
    Réponses: 2
    Dernier message: 30/03/2006, 11h46

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