1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| with ma_table as (
select 'Membre1' membre, to_date ('24082010 07:49','DDMMYYYY HH24:MI') heure_action, 'ENTREE' sens from dual union all
select 'Membre1' membre, to_date ('24082010 09:08','DDMMYYYY HH24:MI') heure_action, 'SORTIE' sens from dual union all
select 'Membre1' membre, to_date ('24082010 11:05','DDMMYYYY HH24:MI') heure_action, 'ENTREE' sens from dual union all
select 'Membre1' membre, to_date ('24082010 12:41','DDMMYYYY HH24:MI') heure_action, 'SORTIE' sens from dual union all
select 'Membre1' membre, to_date ('24082010 14:25','DDMMYYYY HH24:MI') heure_action, 'ENTREE' sens from dual union all
select 'Membre1' membre, to_date ('24082010 18:11','DDMMYYYY HH24:MI') heure_action, 'SORTIE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 07:45','DDMMYYYY HH24:MI') heure_action, 'ENTREE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 10:30','DDMMYYYY HH24:MI') heure_action, 'SORTIE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 10:41','DDMMYYYY HH24:MI') heure_action, 'ENTREE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 10:47','DDMMYYYY HH24:MI') heure_action, 'SORTIE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 10:48','DDMMYYYY HH24:MI') heure_action, 'ENTREE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 15:31','DDMMYYYY HH24:MI') heure_action, 'SORTIE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 17:09','DDMMYYYY HH24:MI') heure_action, 'ENTREE' sens from dual union all
select 'Membre2' membre, to_date ('24082010 18:29','DDMMYYYY HH24:MI') heure_action, 'SORTIE' sens from dual
)
select membre,
sum(heure_action_suivante - heure_action) duree
from (select membre, heure_action, sens,
lead(heure_action) over (partition by membre order by heure_action asc) heure_action_suivante
from ma_table)
where sens = 'ENTREE'
group by membre;
MEMBRE DUREE
------- ----------
Membre1 ,278472222
Membre2 ,370833333 |