Bonjour,
je dispose de la table suivante :
Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE T ( ID NUMBER(8), EQT VARCHAR2(10), HORLOGE DATE, STATUT NUMBER(1));
J'ai besoin de détecter les intervalles pour lesquelles le STATUT vaut 1 sur au moins 3 lignes consécutives, pour chaque EQT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 1 xx 20/08/2015 10:00:00 1 2 xx 20/08/2015 10:10:00 1 3 xx 20/08/2015 10:12:00 0 4 xx 20/08/2015 10:20:00 0 5 xx 20/08/2015 10:24:00 1 6 xx 20/08/2015 10:30:00 1 7 xx 20/08/2015 10:32:00 1 8 yy 20/08/2015 11:10:00 1 9 yy 20/08/2015 11:20:00 1 10 yy 20/08/2015 11:30:00 1
La requête correspondante devrait renvoyer les informations suivantes :
Je pense qu'il faut utiliser les fonctions analytiques d'Oracle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 EQT HORLOGE DEBUT HORLOGE FIN xx 20/08/2015 10:24:00 20/08/2015 10:32:00 yy 20/08/2015 11:10:00 20/08/2015 11:30:00
Qu'en pensez-vous ? Une idée ?
Merci d'avance.
Partager