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 :

Requete WHERE date= ?


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Par défaut Requete WHERE date= ?
    Bonjour à tous,

    J'utilise un fichier php qui me genere une page XML, et c'est avec cette page que je genère un graphique amCharts.
    La base de données est remplie dynamiquement avec les données d'un capteur météo (température).

    Ma requete MySQL qui extrait les datas est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $Query = "SELECT timestamp_mesure, valeur_mesure WHERE id_capteur='2' ORDER BY timestamp_mesure DESC LIMIT 300";
    Or dans ma table, la valeur timestamp_mesure est au format 20110920110000, et une valeur est enregistré à chaque changement de température.
    C'est à dire que si la température reste constante pendant 2h, je n'aurais pas de nouvelles valeurs pendant 2h.

    Je souhaiterai dans ma requete :
    - enlever le LIMIT 300, puis
    - rajouter une condition WHERE, qui me sélectionne uniquement les lignes ou timestamp_mesure est compris entre 00:00 et 23:59 pour le jour actuel.


    J'aurai besoin de votre aide pour cette condition, car je ne sais pas comment l'ecrire. Je sais faire des requetes simple, mais là je ne vois pas trop.

    Mikael

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    je verrais bien un truc du genre
    Code MYSQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHERE timestamp_mesure BETWEEN CONCAT(DATE_FORMAT(CURDATE(),"%Y%m%d"),"000000")
    AND
    CONCAT(DATE_FORMAT(CURDATE(),"%Y%m%d"),"230000")
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Par défaut
    Merci Maljuna Kris,
    ça fonctionne parfaitement.

    Et si je veux la même chose pour la journée précédente, je peux faire CURDATE()-1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    WHERE timestamp_mesure BETWEEN CONCAT(DATE_FORMAT(CURDATE()-1,"%Y%m%d"),"000000")
    AND
    CONCAT(DATE_FORMAT(CURDATE()-1,"%Y%m%d"),"230000")

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par mikael2235 Voir le message
    Merci Maljuna Kris,
    ça fonctionne parfaitement.

    Et si je veux la même chose pour la journée précédente, je peux faire CURDATE()-1 :
    Non il faut utiliser DATE_ADD(CURDATE(),INTERVAL +1 DAY)
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Par défaut
    J'ai essayer avec ta syntaxe et en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DATE_ADD(CURDATE(),INTERVAL -1 DAY)
    J'ai le même résultat qu'avant. mais je pense qu'il y a un problème. Je vais faire un echo pour vérifier les datas.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Par défaut
    Bon la requête fonctionne bien, et me sélectionne les valeurs de 00:00 à 23:59.

    Est-il possible de faire une requête sur 24h glissantes ?

    Merci.

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

Discussions similaires

  1. [MySQL] Requete WHERE Date inférieure à - 30 jours
    Par mikael2235 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 02/03/2010, 21h24
  2. requete - Where + comparaison de date
    Par cubepiege dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 14/10/2008, 15h28
  3. requete avec where..date du jour
    Par hermine dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/08/2007, 10h30
  4. where date() > date+24heures
    Par wjc dans le forum Administration
    Réponses: 8
    Dernier message: 19/02/2005, 22h18
  5. requette where date="moins de 2 jours"
    Par nmerydem dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/05/2004, 16h58

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