La siguiente tabla de Historial de usuarios contiene un registro por cada día que un usuario determinado ha accedido a un sitio web (en un período UTC de 24 horas). Tiene muchos miles de registros, pero solo un registro por día por usuario. Si el usuario no ha accedido al sitio web para ese día, no se generará ningún registro.
Id UserId CreationDate ------ ------ ------------ 750997 12 2009-07-07 18: 42: 20.723 750998 15 2009-07-07 18: 42: 20.927 751000 19 2009-07-07 18: 42: 22.283
Lo que estoy buscando es una consulta SQL en esta tabla con buen rendimiento , que me diga qué ID de usuario ha accedido al sitio web durante (n) días continuos sin perder un día.
En otras palabras, ¿cuántos usuarios tienen (n) registros en esta tabla con fechas secuenciales (día anterior o posterior) ? Si falta algún día de la secuencia, la secuencia se interrumpe y debería reiniciarse nuevamente en 1; Estamos buscando usuarios que hayan logrado un número continuo de días aquí sin brechas.
Cualquier parecido entre esta consulta y una insignia de Stack Overflow es pura coincidencia, por supuesto ... :)