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 :

Des statistiques avec mySQL (AVG et GROUP BY) [MySQL-5.6]


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 105
    Par défaut Des statistiques avec mySQL (AVG et GROUP BY)
    Bonjour

    J'ai une table dans laquelle s'enregistre toutes les 10 minutes la valeur d'un compteur.
    Et je souhaite faire des stats de consommation.
    La table est très simple : id; date; cpt; conso

    Tout d'abord je calcule la valeur de la conso afin de pouvoir faire des stats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update cpt_log t1, cpt_log t2 set t1.conso=t1.cpt-t2.cpt  WHERE t1.id=t2.id+1;
    J'obtiens une consommation de 0 la plus part du temps avec de temps en temps un pic (c'est normal).

    Ensuite je parviens à faire le suivi de la consommation par jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT  DATE_FORMAT(date, "%Y %c %d") as date, sum(conso) as conso FROM cpt_log  group by DATE_FORMAT(date, "%Y %c %d") ORDER BY DATE_FORMAT(date, "%Y %c %d")
    Mais si je veux faire des stats par exemple par jour de la semaine, ou par heure de la journée ça ne me donne pas du tout le résultat attendu. En effet, ça fait la moyenne de consommation par tranche de 10 minutes (donc très basse) et non pas la moyenne de la consommation par jour de la semaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT DATE_FORMAT( date, "%a" ) AS jour, avg( conso ) AS conso
    FROM cpt_log
    GROUP BY DATE_FORMAT( date, "%a" )
    ORDER BY DATE_FORMAT( date, "%w" )
    LIMIT 0 , 30

    Comment puis-je faire ?

    Merci d'avance

    Nathalie

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 105
    Par défaut
    Je crois que je viens de trouver :

    Il faut s'y prendre en deux fois

    Je fais la somme des conso par jour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DATE_FORMAT( date, "%a" ) AS jour, DATE_FORMAT( date, "%w" ) AS numjour, DATE_FORMAT( date, "%Y %c %d" ) AS ladate, sum( conso ) AS nb
    FROM cpt_log
    GROUP BY ladate, jour, jj


    puis on fait la moyenne sur la table virtuelle précédente (je viens de comprendre les tables virtuelles)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT jour, avg( nb )
    FROM (
     
    SELECT DATE_FORMAT( date, "%a" ) AS jour, DATE_FORMAT( date, "%w" ) AS numjour, DATE_FORMAT( date, "%Y %c %d" ) AS ladate, sum( conso ) AS nb
    FROM cpt_log
    GROUP BY ladate, jour, numjour
    ) AS T
    GROUP BY jour, numjour
    ORDER BY numjour

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

Discussions similaires

  1. [MySQL] Faire des pourcentages avec mysql et php
    Par rane dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 14/05/2010, 19h19
  2. Utilisation des OLEDB avec MySQL
    Par popsmelove dans le forum Administration
    Réponses: 0
    Dernier message: 11/07/2008, 09h31
  3. Entrer automatiquement des données Avec MySQL, JS et php
    Par HWICE dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/04/2008, 16h40
  4. [MySQL] conseils pour gérer des images avec mysql
    Par briiice dans le forum Administration
    Réponses: 9
    Dernier message: 04/01/2006, 09h52
  5. Générer des statistiques avec graphiques, histogrammes
    Par nico33307 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/11/2005, 16h03

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