:) tai jei nera rankyciu, tai nera ir pyrageliu. Jei irasu grupavimui neimanoma apibrezti kriteriju, tai, mano galva, irasai is viso neimanoma sugrupuoti niekaip, nes nera grupavimo salygos... Jei rimtai, tai is duotu duomenu galeciau pasakyti, kad sekantis irasas priklauso kitai grupei, jei laiko skirtumas yra didesnis nei 3 sekundes. Idedu ideja kaip galima sugrupuoti irasus tikrinant ankstesne reiksme, gal pades. Cia ideja tokia, kad grupuojami visi irasai, kuriu data vienas nuo kito skiriasi ne daugiau kaip viena diena with dummy_tbl as ( select to_date('20100103', 'yyyymmdd') stamp from dual union all select to_date('20100104', 'yyyymmdd') from dual union all select to_date('20100105', 'yyyymmdd') from dual union all select to_date('20100120', 'yyyymmdd') from dual union all select to_date('20100121', 'yyyymmdd') from dual union all select to_date('20100122', 'yyyymmdd') from dual union all select to_date('20100123', 'yyyymmdd') from dual union all select to_date('20100201', 'yyyymmdd') from dual union all select to_date('20100202', 'yyyymmdd') from dual ) select q1.stamp, sum (q1.start_of_group) over (order by q1.stamp) group_id from ( select t.stamp, lag (t.stamp, 1, t.stamp) over (order by t.stamp) pre_stamp, t.stamp - lag (t.stamp, 1, t.stamp-11) over (order by t.stamp) stamp_diff, case when t.stamp - lag (t.stamp, 1, t.stamp-11) over (order by t.stamp) > 1 then 1 end start_of_group -- cia prasideda nauja grupe from dummy_tbl t ) q1 toliau kiekvienam group_id gali issitraukti min ir max data ir gausi intervalus.