Problème:calcul des valeurs moyennes sur des sections de date/heure
J'ai une base de données de lectures de capteurs avec un horodatage pour le moment a été lu le capteur. Fondamentalement, il ressemble à ceci:
Sensor | Timestamp | Value
Maintenant, je veux faire un graphique de ces données et je veux faire plusieurs graphiques différents. Dire que je veux un pour le dernier jour, un pour la dernière semaine et un pour le dernier mois. La résolution de chaque graphique sera différente, donc pour le graphique du jour, la résolution sera d'une minute. Pour le graphique de la semaine, ce serait une heure et pour le graphique du mois, ce serait un jour ou un quart de journée.
Je voudrais donc une sortie qui est la moyenne de chaque résolution (par exemple jour = moyenne sur la minute, Semaine = moyenne sur l'heure et ainsi de suite.)
Ex:
Sensor | Start | End | Average
Comment faire cela facilement et rapidement dans mySQL? Je soupçonne qu'il permet de créer une table temporaire ou trie et joint les données du capteur avec cela pour obtenir les valeurs moyennes du capteur? Mais ma connaissance de mySQL est limitée au mieux.
Y a-t-il une manière vraiment intelligente de faire ceci?
Cela produit quelque chose qui est proche des résultats que j'attends. Que fait le "WITH ROLLUP" parce qu'il semble qu'il produit les mêmes résultats si je l'enlève? –
From MySQL Reference Manual: "L'ajout d'un modificateur WITH ROLLUP à la clause GROUP BY entraîne la création d'une autre ligne qui affiche le total général sur toutes les valeurs" – nightcoder
Je suppose que je pourrais utiliser n'importe quelle fonction de date pour effectuer le regroupement pour que ce soit plus facile de faire les différents graphiques, c'est exactement ce que je cherchais. Merci. –