Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maicon_m

Agrupar pedidos por intervalo de data

Recommended Posts

Boa tarde.

 

Estou precisando criar relatório de vendas do e-commerce, onde o usuário poderá ver o quanto foi vendido na semana, mes atual e meses anteriores. Então ex: 01/2014 = R$ 600,00 12/2013 = 960,00 ....

 

No BD tenho a tabela pedidos com o campo

 

- ped_data (com a data do pedido)

- ped_total_compra (valor do pedido).

 

Após pesquisas cheguei a seguinte query:

 

           $ano = date('Y');            $busca_pedidos = mysql_query("SELECT extract(month from ped_data)as mes, SUM(ped_total_compra) as total          FROM pedidos p where extract(year from ped_data) AND  YEAR(ped_data) = '$ano' group by extract(month from ped_data) order by mes asc ");   

e também tentei esta para listar os meses anteriores:

 

         $busca2 = mysql_query("SELECT SUM(ped_total_compra) FROM pedidos WHERE date(ped_data) <= DATE_ADD(CURDATE(), INTERVAL 1 WEEK)"); $busca3 = mysql_query("SELECT SUM(ped_total_compra) FROM pedidos WHERE date(ped_data) = DATE_ADD(CURDATE(), INTERVAL - 1 MONTH)");         $busca4 = mysql_query("SELECT SUM(ped_total_compra) FROM pedidos WHERE date(ped_data) >= DATE_ADD(CURDATE(), INTERVAL - 1 YEAR)"); 

 

Poderiam me ajudar a encontrar a forma correta de realizar as consultas?

 

Obrigado.

 

 

Ainda estou tentando encontrar uma solução...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem functions em MySQL que retornam , a semana , o mês de uma data, diferenças de data (mês anterior) estas podem ser usadas para extrair , para se formatar o relatório pode-se usar o CASE para fazer o PIVOT das colunas.

 

Creio que se encontra exemplos vários aqui mesmo no Imasters

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.