Por un lado, desde el SQL lo que te puedo aconsejar es que hagas dos consultas: La primera para obtener la
cantidad de registros que recuperarás. Algo tan sencillo como:
Donde
desde y
hasta son las fechas a recuperar.
Luego de ese resultado, simplemente realizar las consultas necesarias para segmentar los registros que devolverá de la forma que quieras.
Eso otro, es tema de programación, porque a nivel de SQL lo único que se necesita es saber cuál es el rango a obtener: