Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) SELECT soma de valores por mês


Diego Roberto

Pergunta

Boa tarde, sou novato em mexer com SQL e precisava fazer o SELECT da seguinte forma:

Preciso selecionar os valores das vendas ordenadas por mês de acordo com o filtro que o usuário entrar. Tenho as vendas que ocorrem diariamente, precisava somar estes dados e visualizá-los. Detalhe tenho que agrupar esta soma por mês.

SELECT SUM(vendas_credito.vc_valor_liquido) AS Soma_Valor_Liquido FROM vendas_credito 
WHERE EXTRACT(month FROM vendas_credito.vc_dtapresentacao) >= '07' 
AND EXTRACT(year FROM vendas_credito.vc_dtapresentacao) >= '2009' 
AND EXTRACT(month FROM vendas_credito.vc_dtapresentacao) <= '08' 
AND EXTRACT(year FROM vendas_credito.vc_dtapresentacao) <= '2009'

Este SELECT me retorna o valor da soma total de 07/2009 a 08/2009

Precisa que aparecesse da seguinte forma:

07/2009 - 500,00

08/2009 - 300,00

A entrada do mês e ano de início, e mes e ano final é o usuário que informa em uma tela.

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

SELECT
cast(month(vendas_credito.vc_dtapresentacao) as varchar(2)) + '/' + cast(year(vendas_credito.vc_dtapresentacao)as varchar(4)) as [mês],
SUM(vendas_credito.vc_valor_liquido) AS Soma_Valor_Liquido FROM vendas_credito WHERE EXTRACT(month FROM vendas_credito.vc_dtapresentacao) >= '07' AND EXTRACT(year FROM vendas_credito.vc_dtapresentacao) >= '2009' AND EXTRACT(month FROM vendas_credito.vc_dtapresentacao) <= '08' AND EXTRACT(year FROM vendas_credito.vc_dtapresentacao) <= '2009'
group by cast(month(vendas_credito.vc_dtapresentacao) as varchar(2)) + '/' + cast(year(vendas_credito.vc_dtapresentacao)as varchar(4))

----- edited -----

corrigida a instrução acima.. testado e funcionando

Editado por fercosmig
Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde Diego,

Dá uma olhada neste script também... pode ajudar. Outra coisa: utilize a sintaxe IN para otimizar a pesquisa de meses e anos. A função month e year já resgata os respectivos dados.

select (substring(convert(varchar(10), vc_dtapresentacao,103), 4, 10)) Data, 
sum(vc_valor_liquido) Soma_Valor_Liquido
from vendas_credito where month(vc_dtapresentacao) in ('07', '8') 
and year(vc_dtapresentacao) in ('2009', '2008')
group by (substring(convert(varchar(10), vc_dtapresentacao,103), 4, 10))

Link para o comentário
Compartilhar em outros sites

  • 0
SELECT
cast(month(vendas_credito.vc_dtapresentacao) as varchar(2)) + '/' + cast(year(vendas_credito.vc_dtapresentacao)as varchar(4)) as [mês],
SUM(vendas_credito.vc_valor_liquido) AS Soma_Valor_Liquido FROM vendas_credito WHERE EXTRACT(month FROM vendas_credito.vc_dtapresentacao) >= '07' AND EXTRACT(year FROM vendas_credito.vc_dtapresentacao) >= '2009' AND EXTRACT(month FROM vendas_credito.vc_dtapresentacao) <= '08' AND EXTRACT(year FROM vendas_credito.vc_dtapresentacao) <= '2009'
group by cast(month(vendas_credito.vc_dtapresentacao) as varchar(2)) + '/' + cast(year(vendas_credito.vc_dtapresentacao)as varchar(4))

----- edited -----

corrigida a instrução acima.. testado e funcionando

Opa pessoal obrigado. Pela ajuda acabei mesclando um pouco as soluções.

Deu certo.

Obrigado mesmo pela agilidade e força.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Pessoal tenho um problema parecido

tenho duas tabelas um de km veículos e outra agenda de aulas fiz um select na tabela km veículos e subselect na agenda pra fazer a somatória das informações de km rodado e aulas dadas só que quando peço por um período de 3 meses queria que agrupasse por veiculo e mês da certo na tabela de km rodado que é o select principal só que nas aulas dadas esta somando tudo e trazendo o valor somado nas 2 linhas ex:

período 01/05/2014 até 31/07/2014

MARCA MODELO KM RODADO AULAS DADAS MES

VEICULO 1 500 1000 05

VEICULO 2 533 1000 06

VEICULO 3 612 1000 07

SENDO QUE PRECISAVA QUE AS AULAS DADAS TAMBEM AGRUPASSEM POR MES COMO ABAIXO:

MARCA MODELO KM RODADO AULAS DADAS MES

VEICULO 1 500 300 05

VEICULO 2 533 300 06

VEICULO 3 612 400 07

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...