A tabela Histórico do usuário a seguir contém um registro para cada dia que um determinado usuário acessa um site (em um período UTC de 24 horas). Possui muitos milhares de registros, mas apenas um registro por dia por usuário. Se o usuário não tiver acessado o site naquele dia, nenhum registro será gerado.
ID UserId CreationDate ------ ------ ------------ 750997 12 07-07-2009 18: 42: 20.723 750998 15-07-07 2009: 42: 20.927 751000 19-07-07 18: 42: 22.283
O que estou procurando é uma consulta SQL nesta tabela com bom desempenho , que me diga quais IDs de usuário acessaram o site por (n) dias contínuos sem perder um dia.
Em outras palavras, quantos usuários possuem (n) registros nesta tabela com datas seqüenciais (dia antes ou depois) ? Se algum dia estiver faltando na sequência, a sequência será interrompida e deverá reiniciar novamente em 1; estamos procurando usuários que tenham alcançado um número contínuo de dias aqui sem lacunas.
Qualquer semelhança entre esta consulta e um distintivo Stack Overflow específico é pura coincidência, é claro .. :)