Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 489874
            [titulo] => SQL - Filtro de data e soma de valores
            [dataCadastro] => DateTime Object
                (
                    [date] => 2014-08-22 16:35:13
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 352428
            [status] => A
            [isExample] => 
            [NomeUsuario] => Celso Medeiros
            [Apelido] => 
            [Foto] => 352428_20131209151750.jpg
            [Conteudo] => Acredito que o que você queira seja o seguinte:

select data, sum(valor)
from tabela
where (data >= '7/20/2014' and data <= '8/20/2014')
group by data ) )

SQL - Filtro de data e soma de valores

Rafael Santos
   - 22 ago 2014

Olá!
Tenho uma tabela no SQL no qual em uma coluna tenho datas, no formato mes/dia/ano, e na outra diversos valores. Para cada data, tenho várias linhas de valores, por exemplo:
7//20/2014 50,00
7/20/2014 10,00
7/20/2014 15,00
8/20/2014 10,00
8/20/2014 20,00
9/20/2014 10,00
Enfim, gostaria de saber como posso fazer um filtro que some o total de cada data (em um intervalo determinado por mim). Por exemplo, esse filtro liberaria o seguinte resultado se os parametros fossem 7/20/2014 e 8/20/2014:
7/20/2014 75,00
8/20/2014 30,00

Muito obrigado!

Post mais votado

Celso Medeiros
   - 22 ago 2014

Acredito que o que você queira seja o seguinte:

select data, sum(valor)
from tabela
where (data >= '7/20/2014' and data <= '8/20/2014')
group by data

Faabiianooc
   - 22 ago 2014

#Código

select
	data,
	sum(valor)
from tabela
where (data = '7/20/2014' and valor = 75.00) or 
(data = '8/20/2014' and valor = 30.00)

David Styveen
|
MVP
Pontos: 545
    24 ago 2014

Exatamente o que o Celso Medeiros postou.

Na cláusula "where" pode ser usado o betwen ao invés de "and", mas em tese é a mesma coisa.

#Código

where data '7/20/2014' and '8/20/2014' 


Abraços

Emersonbrito
   - 24 out 2014

Bom dia prezado!

O Mais ideal, (pois vc. pode querer agrupar outras datas), e se quiser uma data específica aí vc. usa a clausula WHERE:

-- Agrupa Totalizando por datas:

SELECT Data, Sum(Valor) as Valor
FROM Tabela
GROUP BY Data

-- Se quiser uma data específica coloque o WHERE:

SELECT Data, Sum(Valor) as Valor
FROM Tabela
WHERE Data = 'AAAAMMYY'
GROUP BY Data

--IMPORTANTE: Se o seu campo de data contiver a hora gravada, ele vai levar em consideração no agrupamento, aí vc. coloca um CONVERT no campo Data para ele desprezar a hora colocando tudo em 00:00:00.000 assim:

SELECT CAST(CONVERT(CHAR(10),Data,120) AS DATETIME) as Data, sum(t1.Valor) as Valor
FROM Tabela
GROUP BY CAST(CONVERT(CHAR(10),Data,120) AS DATETIME)

Obrigado!