Usuário com melhor resposta
Agrupar resultados da consulta por MONTH (mês)

Pergunta
-
Bom dia,
Tenho uma tabela onde os campos são os seguintes: Data,Produto,Valor,Qtd
Data Produto Valor Qtd
01/01/2016 001 1,0 10
10/01/2016 002 1,0 5
01/02/2016 001 1,0 8
11/02/2016 002 1,0 1
15/03/2016 001 1,0 2
Eu preciso dar um total por mês multiplicando a qtd * valor e somar os totais.
Ex. Mês 01
Produto 001 (valor*qtd) + Produto 002 (valor*qtd) = total
Mês 02
Produto 001 (valor*qtd) + Produto 002 (valor*qtd) = total
Mês 03
Produto 001 (valor*qtd) = total
- Editado Leandro HG quarta-feira, 30 de março de 2016 13:05
Respostas
-
Bom dia,
Creio que o melhor neste caso seja agrupar por mês e ano, para não agrupar meses de 2015 e 2016 por exemplo. Então você pode fazer assim:
SELECT 'Ano' = YEAR(Data), 'Mes' = MONTH(Data), 'Total' = SUM(Valor * Qtd) FROM TABELA GROUP BY YEAR(Data), MONTH(Data)
Pedro Henrique B. Fernandes
MCPD - Web Developer 4
Site: pedrofernandes.net- Sugerido como Resposta Roberto AB Filho quarta-feira, 30 de março de 2016 14:14
- Marcado como Resposta Marcos SJ quarta-feira, 30 de março de 2016 14:20
- Não Marcado como Resposta Leandro HG quarta-feira, 30 de março de 2016 14:36
- Marcado como Resposta Leandro HG quarta-feira, 30 de março de 2016 14:36
Todas as Respostas
-
-
Bom dia,
Não sei se entendi corretamente, mas experimente mais ou menos dessa forma:
select Month(Data) as Mes, sum(Valor * Qtd) as Total from Tabela where Data between '20160101' and '20160331' group by Month(Data)
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
-
Bom dia,
Creio que o melhor neste caso seja agrupar por mês e ano, para não agrupar meses de 2015 e 2016 por exemplo. Então você pode fazer assim:
SELECT 'Ano' = YEAR(Data), 'Mes' = MONTH(Data), 'Total' = SUM(Valor * Qtd) FROM TABELA GROUP BY YEAR(Data), MONTH(Data)
Pedro Henrique B. Fernandes
MCPD - Web Developer 4
Site: pedrofernandes.net- Sugerido como Resposta Roberto AB Filho quarta-feira, 30 de março de 2016 14:14
- Marcado como Resposta Marcos SJ quarta-feira, 30 de março de 2016 14:20
- Não Marcado como Resposta Leandro HG quarta-feira, 30 de março de 2016 14:36
- Marcado como Resposta Leandro HG quarta-feira, 30 de março de 2016 14:36
-
É incrível como complicamos situações tão simples...na minha cabeça fiz um nó pensando como eu deveria filtrar a consulta, daí vem um cara que tem o dom e em poucas linhas mata o problema...kkk <o:p></o:p>
Obrigado Pedro e ao pessoal que postou para essa ajuda!<o:p></o:p>