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:
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:
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:
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