Como posso identificar grupos de datas consecutivas no SQL?

Estou tentando escrever uma função que identifica grupos de datas e mede o tamanho do grupo.

Eu tenho feito isso processualmente em Python até agora, mas gostaria de movê-lo para o SQL.

por exemplo, a lista

Bill 01/01/2011 
Bill 02/01/2011 
Bill 03/01/2011 
Bill 05/01/2011 
Bill 07/01/2011 

deve ser enviado para uma nova tabela como:

Bill 01/01/2011  3 
Bill 02/01/2011  3 
Bill 03/01/2011  3 
Bill 05/01/2011  1 
Bill 07/01/2011  1

Idealmente, isso também deve ser possível para os finais de semana e feriados - as datas em minha mesa sempre serão de segunda a sexta (acho que posso resolver isso criando uma nova tabela de dias úteis e numerando-as em sequência). Alguém no trabalho sugeriu que eu tentasse um CTE. Eu sou muito novo nisso, então eu apreciaria qualquer orientação que alguém pudesse fornecer! Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion