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 :

données ligne - ligne-1


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 7
    Points
    7
    Par défaut données ligne - ligne-1
    Bonjour,
    J'ai un tableau avec les données de mon compteur EDF ( 1 mesure / mn).

    Par cette requête, je récupère les données / heure.
    Mon soucis, c'est que je voudrais soustraire les données avec h-1 pour avoir la consommation de l'heure.
    Auriez-vous une piste de recherche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DATE_FORMAT(`datetime`, '%Y-%m-%d %H' ) as datetime, max(`BASE`) as maxBASE, max(`IINST`) as maxIINST, max(`PAPP`) as maxPAPP ,(max(`BASE`) - min(`BASE`))as cBASE
    FROM `compteur_2` 
    GROUP BY DATE_FORMAT( `datetime` , '%Y-%m-%d %H' ) 
    DESC LIMIT 24;
    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je ne suis pas un spécialiste mais ton problème m'a fait penser à un que je viens d'avoir.
    La solution semble être de faire une jointure de la table sur elle même.

    J'ai fait un rapide test avec la table (counter) de relevés suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    id           count
    ----------------
    1            10
    2            20
    3            25
    4            31
    La requête suivante calcule les différences:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT t2.count AS count2, t1.count AS count1, (
    t2.count - t1.count
    ) AS diff
    FROM counter t1
    INNER JOIN counter t2 ON t2.id = ( t1.id +1 )
    et donne le résultat suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    count2      count1       diff
    --------------------------------
    20            10             10
    25            20             5
    31            25             6
    Ca ne devrait pas être dur l'adapter à ton cas. Note qu'il faut incrémenter un identifiant sur tes rangées.

Discussions similaires

  1. Mettre une base de données en ligne
    Par Pau dans le forum OVH
    Réponses: 9
    Dernier message: 09/01/2008, 16h57
  2. Réponses: 6
    Dernier message: 07/04/2007, 15h16
  3. Réponses: 1
    Dernier message: 25/08/2006, 19h01
  4. Exportation d'une partie des données des lignes, ...
    Par Pho dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/06/2005, 10h30
  5. Base de données en ligne
    Par olvforet dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 08/10/2004, 21h26

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