Récupèrer des données en fonction de l'heure.

Récupèrer des données en fonction de l'heure. - SQL/NoSQL - Programmation

Marsh Posté le 20-02-2011 à 14:56:44    

Bonjour à tous,
 
J'ai une basse de données qui stock des relevés de températures sous mysql. Je voudrais récupérer dans la base de données la température à 0h, 6h, 12h, 18h et 10H mais le problème c'est que dans ma base de données j'ai plusieurs relevés avec des heures qui ne tombe pas juste du genre 16:02:22 :
 
http://ptut.acorso.fr/temp/bdp_temp.PNG
 
Comment faire mon WHERE pour récupérer ces température? Merci

Reply

Marsh Posté le 20-02-2011 à 14:56:44   

Reply

Marsh Posté le 20-02-2011 à 17:12:37    

Ca dépend du modèle statistique que tu adoptes. Ca ne se fait pas avec un simple WHERE puisque la donnée n'est pas dans la base.
 
Tu peux commencer par faire une interpolation linéaire entre 2 points si tes températures sont plutôt stables comme ton exemple.
 

Reply

Marsh Posté le 20-02-2011 à 21:31:16    

Comment ça la donnée n'est pas dans la base?

Reply

Marsh Posté le 21-02-2011 à 11:40:59    

Le plus facil c'est d'utiliser une difference entre l'heure recherchée (genre 16h00) et l'heure dans la DB.
 
Avec SQL Server tu peux utiliser DATEDIFF(min, date1, date2).
Dans ton where tu fais un truc du genre WHERE DATEDIFF(min, dateReleve, date16h) between -10 and 10.
Ca te donne une marge de 10mins avant et apres.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed