/ / agregar +1 día a la siguiente fecha en una unión en una secuencia incompleta de fechas - mysql, sql

agregando +1 día a la siguiente fecha en una unión en una secuencia de fechas incompleta - mysql, sql

Tengo una tabla que almacena las fechas de una secuencia incompleta dentro del año:

eg.
Jan 1
Jan 4
Jan 9
Jan 24
Jan 25
Feb 16
Feb 18
Feb 21
Feb 28
Mar 3
.
.
.
Dec 31

Necesito hacer un auto en la mesa en elcolumna de fechas La fecha debe unirse en la fecha a donde la fecha b es + 1 día en la secuencia. Si las fechas estuvieran completas, haría una unión como a.date = b.date pero en lugar de a.date = DATE_ADD(b.date,INTERVAL 1 DAY). Pero necesito que sea algo como esto. a.date = NEXT_DATE_IN_SEQUENCE(b.date)Pero, por supuesto, esto no es una función real, pero estoy buscando algo como esto.

Respuestas

1 para la respuesta № 1

Podrías usar un producto semi-cartesiano:

SELECT a.date, MIN(b.date)
FROM dates a
INNER JOIN dates b ON b.date > a.date
GROUP BY a.date;

Manifestación


1 para la respuesta № 2

Me acercaría a esto utilizando una subconsulta correlacionada:

select t.*,
(select t2.date
from table t2
where t2.date > t.date
order by t2.date
limit 1
) as next_date
from table t;