Como fazer SQL com Group By em um Campo DateTime
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
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
Wgm8
Curtidas 0
Melhor post
Emerson Nascimento
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
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
GOSTEI 1
Mais Respostas
Sremulador
09/02/2007
SELECT FUNCIONARIO, [b]cast(DIA as date)[/b], SUM(TEMPO) from TABELA Group By FUNCIONARIO, DIA
GOSTEI 0
Wgm8
09/02/2007
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
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
GOSTEI 0
Wgm8
09/02/2007
//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)
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)
GOSTEI 0