¿Cómo puedo identificar grupos de fechas consecutivas en SQL?

Estoy intentando escribir una función que identifica grupos de fechas y mide el tamaño del grupo.

He estado haciendo esto de manera procedimental en Python hasta ahora, pero me gustaría moverlo a SQL.

por ejemplo, la lista

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

debe ser generado en una nueva tabla 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, esto también debería poder tener en cuenta los fines de semana y los días festivos; las fechas en mi tabla siempre serán de lunes a viernes (creo que puedo resolver esto haciendo una nueva tabla de días hábiles y numerándolas en secuencia). Alguien en el trabajo me sugirió que probara un CTE. Soy bastante nuevo en esto, así que agradecería cualquier orientación que alguien pueda proporcionar. Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta