Eu preciso fazer um relatório que produzirá um resultado em um resultado de linha diário com base no intervalo de dados selecionado.
Exemplo:
Table: sales
->id
->type
->gross
->created_at
->updated_at
Por exemplo, minha consulta é
SELECT COUNT(case when type = 'Completed Sale' then id end) as complete,
COUNT(case when disposition = 'Partial Sale' then id end) as partial,
SUM(gross)as revenue
FROM sales
WHERE created_at >= '2015-09-20 00:43:32' AND created_at <= '2015-09-24 18:43:32';
O intervalo é de 20 de setembro a 24 de setembro
Então, basicamente, a saída será como:
complete | partial | revenue
1 1 2.3
O que eu quero que a saída seja assim
start date | end date | complete | partial | revenue
___________|_____________|__________|_________|____________
2015-09-20 | 2015-09-21 | 1 | 1 | 2.3
2015-09-21 | 2015-09-22 | 3 | 4 | 4.3
2015-09-22 | 2015-09-23 | 3 | 4 | 4.3
2015-09-23 | 2015-09-24 | 4 | 4 | 3.3
Como você pode ver, a saída é a base diária da data inicial e da data final. Se escolher intervalo de 1 mês, haverá 30 ou 31. Isso é possível?