Requete sql heure / moyenne / donnee

Résolu
joelindien -  
 Siluni -
Bonjour,

Alors voila, je cherche a faire une requete sql me permettant de sortir de ma BD une moyenne de valeur en fonction d'une heure fixe pour toute les heures de la journées (je sais pas si j'ai ete bien clair donc je vais developper)

en gros jai une table prototypée comme suit avec une colonne value, une date et une heure.

value | date | heure

ma colonne value contenant des donnees numeriques

ex :

370 | 2010-10-10 | 22:07:10
450 | 2010-10-11 | 18:08:11

etc....

je cherche a faire une requete me permettant de recuperer la moyenne des valeurs dune journee par heure

ex la moyenne des valeure de 09h de 10h de 18h etc... pour lensemble de la journee

javais une ebauche du type

SELECT AVG(value) FROM 'table' WHERE 'Date' = '2010-10-22' AND -> ici je bloque SUBSTR(Time,1,2)ORDER BY 'Time';
A voir également:

3 réponses

Siluni
 
SELECT HOUR(Date), AVG(value)
FROM 'table'
WHERE 'Date' LIKE '2010-10-22%'
GROUP BY HOUR(Date)
ORDER BY Date ASC;

On peut même faire

SELECT DATE_FORMAT(Date, '%Y-%m-%d') AS Day, HOUR(Date) AS heure, AVG(value) AS moyenne
FROM 'table'
GROUP BY YEAR(Date), MONTH(Date), DAY(Date), HOUR(Date)
ORDER BY Date ASC;

Passe la colonne en DATETIME et fusionne date et heure :)
0
joelindien
 
Merci pour ton aide ^^,

j'ai trouve finalement tout seul il y'a quelques temps.

Pour ceux que ca interesse :

SELECT 'value' FROM 'table' WHERE 'Date' = '2010-10-22' GROUP BY SUBSTR(Time,1,2);

(ma colonne Time etait deja au format time, donc un substr suffit meme si c'est sale ^^.
0
Siluni
 
a la place de SUBSTR => HOUR(Time) fera l'affaire :)
0