Différences
Ci-dessous, les différences entre deux révisions de la page.
| cookbook:filtrer_tuples_par_interval_de_temps_regulier [2008/10/14 20:04] – créée ioguix | cookbook:filtrer_tuples_par_interval_de_temps_regulier [2008/10/15 16:51] (Version actuelle) – effacée ioguix | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Filtrer des tuples à intervalle temporel régulier ====== | ||
| - | ===== Conditions préalables ===== | ||
| - | |||
| - | Imaginons une table contenant plusieurs colonnes dont une est une estampille. Par exemple la table mesures : | ||
| - | |||
| - | <code sql> | ||
| - | CREATE TABLE mesures ( | ||
| - | | ||
| - | | ||
| - | </ | ||
| - | |||
| - | Nous pouvons imaginer que les données sont temporellement réparties uniformément dans le temps (une donnée toutes les minutes par exemple). | ||
| - | |||
| - | ===== Cas d' | ||
| - | |||
| - | On souhaite avoir les mesures entre deux dates en échantillonnant les données présentes dans la table mesures avec un intervalle régulier supérieur à la répartition initiale de la mesure (par exemple toutes les 5 minutes). | ||
| - | |||
| - | ===== Requête ===== | ||
| - | |||
| - | Nous allons utiliser la fonction EXTRACT avec comme argument EPOCH pour extraire le nombre de secondes écoulées depuis le 1er Janvier 1970 à minuit GMT sur l' | ||
| - | |||
| - | <code sql> | ||
| - | SELECT | ||
| - | | ||
| - | FROM | ||
| - | | ||
| - | WHERE | ||
| - | | ||
| - | AND | ||
| - | ( (EXTRACT(EPOCH FROM estampille):: | ||
| - | </ | ||
| - | |||
| - | Ainsi chaque fois que la date EPOCH sera un multiple de 5*60 secondes (5 minutes) le modulo sera égal à 0 et notre ligne sera sélectionnée. | ||
| - | |||
| - | -- \\ | ||
| - | Jean-Christophe Arnu le 15/09/2006 | ||