Så du vill hitta sekvenser enligt datum som är desamma.
Här är ett knep:om du tar skillnaden mellan row_number()
över hela gruppen och row_number()
partitionerad med code
, då kommer den att vara konstant för intilliggande rader med samma kod. Resten är bara aggregering:
select min(date), max(date), code
from (select t.*,
(row_number() over (order by date) -
row_number() over (partition by code order by date)
) as grpid
from followingdata t
) t
group by grpid, code;