|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : juin 2007 Messages : 3 ![]() |
Bonsoir,
Voici mon problème : Disons, que je dispose d'une table avec 3 champs : Date, Heure et Valeur Je dispose d'un enregistrement toutes les 5 minutes (le début est asynchrone) Exemple : 25/07/2011 00:01:56 1 25/07/2011 00:06:56 2 25/07/2011 00:11:56 3 25/07/2011 00:16:56 4 25/07/2011 00:21:56 5 25/07/2011 00:26:56 6 ... 25/07/2011 01:01:56 7 25/07/2011 01:06:56 8 25/07/2011 01:11:56 9 25/07/2011 01:16:56 10 25/07/2011 01:21:56 11 25/07/2011 01:26:56 12 ... Sauriez-vous comment récupérer les valeurs les plus proches de 0h, 1h, 2h, 3h, 4, et ainsi de suite ? (24 valeurs par jour au max.) Si j'ai "25/07/2011 00:56:56 7" et "25/07/2011 01:01:56 7" je prend "25/07/2011 01:01:56 7" Un grand merci et bonne soirée !
|
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 565 ![]() |
Une table des heure contenant de 0 à 23.
Une table des dates contenant tous les jours. Une requête qui fait le produit cartésien de ces deux tables, une jointure sur votre table de valeurs. La condition de jointure sur la table de valeurs étant qu'aucune autre valeur n'est plus proche de l'heure de la table heure. La proximité horaire s'exprimant comme la valeur absolue de la différence entre l'heure de la valeur et l'heure de la table des heures. |
|
|
00
|
|
|
#3 | ||
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
Si le SGBD a les fonctions de fenêtrage, ça doit être facile avec des partitions basées sur le temps arrondi à l'heure la plus proche. Il faut garder la 1ere ligne de chaque partition avec un tri sur le temps. Ca donnerait quelque chose du style
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com