Como fazer SQL com Group By em um Campo DateTime

09/02/2007

15

Olá pessoal preciso fazer uma soma por dia de serviço, porem o campo é um DateTime, que registra Data e Hora, só que em alguns relatórios preciso somar por data e hora. Existe alguma forma de fazer este comando Sql?


SELECT FUNCIONARIO, DIA, SUM(TEMPO)
from TABELA
Group By FUNCIONARIO, DIA

Hoej o Resultado me sai assim:

JOSE - 7/10/2004 07:23:26 - 40
JOSE - 7/10/2004 08:23:26 - 40
JOSE - 7/10/2004 09:23:26 - 40

o Resultado que preciso é:

JOSE - 7/10/2004 00:00:00 - 120


Responder

Post mais votado

09/02/2007

o problema não é o select e sim o group by.

SELECT FUNCIONARIO, cast(DIA as date), SUM(TEMPO)
from TABELA
Group By FUNCIONARIO, 2

onde ´2´ indica que dever ser utilizado o segundo campo da lista como critério de agrupamento - no caso, somente a data


Responder

Mais Posts

09/02/2007

Sremulador

SELECT FUNCIONARIO, [b]cast(DIA as date)[/b], SUM(TEMPO) 
from TABELA 
Group By FUNCIONARIO, DIA 



Responder

09/02/2007

Wgm8

SELECT
Funcionario, cast(REL_DHINICIO as date),
SUM(TEMPO) TEMPOPRODUCAO
FROM REL_01
GROUP BY Funcionario, 2

Continua saindo

Func. Data Tempo
JOSE - 7/10/2004 07:23:26 - 40
JOSE - 7/10/2004 08:23:26 - 40
JOSE - 7/10/2004 09:23:26 - 40

Data e Tempo são campos diferentes, o meu problema esta sendo agrupar por dia por causa da hora, o resultado que preciso é a soma de todo o dia, ignorando o time da data

Func. Data Tempo
JOSE - 7/10/2004 - 40


Responder

18/04/2007

Wgm8

//Oracle
select count(*), TRA_CODTITULAR, SUBSTR(TRA_DHINCLUSAO,1,10) from sccardtransacoes
where
SUBSTR(TRA_DHINCLUSAO,1,10) = ´10-26-2004´
GROUP BY TRA_CODTITULAR, SUBSTR(TRA_DHINCLUSAO,1,10)



//FireBird
select count(*), TRA_CODTITULAR, substring(TRA_DHCOMPRA from 1 for 11) from sccardtransacoes
where
substring(TRA_DHCOMPRA from 1 for 11) = ´10-APR-2007´
GROUP BY TRA_CODTITULAR, substring(TRA_DHCOMPRA from 1 for 11)


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar