2010-07-28 6 views
1

J'ai une table avec une colonne 'timestamp' et une colonne 'value' où les valeurs sont espacées d'environ 3 secondes.MySQL: valeur moyenne horaire

J'essaie de retourner une table qui a des valeurs moyennes quotidiennes.

Donc, quelque chose comme ceci est ce que je cherche.

| timestamp | average | 

| 2010-06-02 | 456.6 | 

| 2010-06-03 | 589.4 | 

| 2010-06-04 | 268.5 | 

etc... 

Toute aide à ce sujet serait grandement appréciée.

Répondre

5
SELECT DATE(timestamp), AVG(value) 
FROM table 
GROUP BY DATE(timestamp) 

Puisque vous voulez la journée au lieu de chaque horodatage

1

Cela suppose que votre colonne d'horodatage contient uniquement des informations sur le jour, mais pas l'heure. De cette façon, les dates peuvent être regroupées:

select timestamp, AVG(value) as average 
from TABLE_NAME 
group by timestamp 
+1

Je ne pense pas qu'il ait en fait des valeurs discrètes avec de telles grandes deltas le champ d'horodatage. Je devine qu'il a également besoin de traitement du champ, pour ignorer l'heure. – AlexanderMP

+0

Oui, vous avez probablement raison. Je vais laisser la réponse depuis votre information pourrait être utile à quelqu'un. –

2
select DATE(timestamp), AVG(value) 
from TABLE 
group by DATE(timestamp) 
Questions connexes