sql >> Base de Datos >  >> RDS >> PostgreSQL

Agrupar SQL por rango de fechas

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;