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
| with matable as
(
select '14A00016355' as col1, '14B00014902' as col2, to_timestamp('20090319094013600', 'yyyymmddhh24missff') as stamp, 'jean' as usr from dual union all
select '14A00016355' , '14B00014902' , to_timestamp('20090319094919900', 'yyyymmddhh24missff') , 'jansel' from dual union all
select '14A00016355' , '14B00014902' , to_timestamp('20090319082719300', 'yyyymmddhh24missff') , 'fcourbot' from dual union all
select '14A00016355' , '14B00014902' , to_timestamp('20090223145657200', 'yyyymmddhh24missff') , 'cflack' from dual union all
select '14A00016361' , '14B00014142' , to_timestamp('20090121101002100', 'yyyymmddhh24missff') , 'van' from dual union all
select '14A00016366' , '14B00015580' , to_timestamp('20090121125849800', 'yyyymmddhh24missff') , 'vieu' from dual union all
select '14A00016366' , '14B00015580' , to_timestamp('20090121130032300', 'yyyymmddhh24missff') , 'vieu' from dual union all
select '14A00016366' , '14B00015580' , to_timestamp('20090121130228100', 'yyyymmddhh24missff') , 'vieu' from dual union all
select '14A00016366' , '14B00015701' , to_timestamp('20090121125849800', 'yyyymmddhh24missff') , 'vieu' from dual union all
select '14A00016366' , '14B00015701' , to_timestamp('20090121130228100', 'yyyymmddhh24missff') , 'vieu' from dual union all
select '14A00016366' , '14B00015701' , to_timestamp('20090121130032300', 'yyyymmddhh24missff') , 'dinar' from dual
)
SELECT col1, col2, max(stamp) as stamp,
max(usr) keep(dense_rank first order by stamp desc) as usr
FROM matable
GROUP BY col1 ,col2;
COL1 COL2 STAMP USR
----------- ----------- ------------------------- --------
14A00016355 14B00014902 20090319094919900000000 jansel
14A00016361 14B00014142 20090121101002100000000 van
14A00016366 14B00015580 20090121130228100000000 vieu
14A00016366 14B00015701 20090121130228100000000 vieu |
Partager