Preciso somar uma coluna no banco de dados onde a data determinada é entre 01/10/2017 a 31/10/2017, porem quando executo a query ele puxa o valor da soma de cada dia e eu preciso da soma de todos os dias, ou seja a soma de todos os valores entre os dias 1/10 ate 31/10 minha query esta assim
select dtlancamento, (sum(vritem))
FROM contacorrenteembarque
where (dtlancamento >= ‘2017-10-01’ and dtlancamento <= ‘2017-10-31’)
group by dtlancamento
Recebo os dados desta maneira
dtlancamento l vritem l
’2017-10-03 15:31:57’ ,’-30.000000’
‘2017-10-26 12:27:43’ ,’-15086.000000’
‘2017-10-24 17:49:16’ ,’-88.170000’
‘2017-10-18 11:45:32 ‘,’-150.000000’
‘2017-10-26 16:21:00’,’-130.650000’
‘2017-10-09 12:03:23’,’-2072.000000’
‘2017-10-09 11:20:12’,’-97.110000’
estou usando o postgresql
Ola,
O sql esta correto, se voce esta colocando a coluna dtlancamento, ele vai criar:
dtlancamento | sum
2017-10-01 | 1000
2017-10-02 | 900
2017-10-03 | 2000
a coluna dtlancamento esta definindo que voce quer a soma total daquele dia.
se voce quer so a soma total, tem que tirar a coluna dtlancamento.
Sim, mas quero a soma dentro do periodo de 01/10 a 31/10, se eu tirar o dtlancamento ele ira somar todo o Vritem, incluindo datas que nao quero
Opa,
Nao vai, voce esta defenindo no clausa-la where o periodo a ser somado.
caso esteja em duvida, execute dois sql diferente, um so com a soma e outro com o dtlancamento e a soma,
faça a soma na mao do ultimo sql e veja se o resultado bate.
Outra coisa que vi é que o sum(vritem) esta com sinal negativo, esta correto?
Sim, tem sinais negativos, como ficaria o sql entao se eu removesse o dtlancamento?
Da mesma forma que o seu sem o dtlancamento.
select sum(vritem) as vritem
FROM contacorrenteembarque
where (dtlancamento >= ‘2017-10-01’ and dtlancamento <= ‘2017-10-31’)
Deu certinho mesmo amigo, obrigado!!
de nada, :D, maque o topico como resolvido