Entonces, desea encontrar secuencias según la fecha que sean iguales.
Aquí hay un truco:si tomas la diferencia entre row_number()
sobre todo el grupo y row_number()
particionado por code
, entonces será constante para filas adyacentes con el mismo código. El resto es solo agregación:
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;