Função SUM() - Somatória no campo HORA (time)
Bom dia galera...
Estou desenvolvendo um programa de controle de produção, e em cada registro inserido, um Operador inicia e termina uma operação em determinada CNC.
Nesse meio tempo, tenho um campo "contagem" do tipo TIME, que recebe o tempo entre o inicio e o fim dessa produção, que está no formato hh:mm:ss.
Pois bem, fiz um formulário para mostrar o histórico de cada Operador (Operador mais Produtivo).
Antes de abrir este formulário, eu informo o período de datas que quero que filtre, mas o problema é o seguinte.
Nesse mesmo filtro, estou fazendo um select, cujo o mesmo também está agrupando (GROUP BY) por operador, mas preciso também da somatória da:
- Quantidade Produzida
- Contagem total
Para a quantidade produzida estou usando: SUM(qtdde_produzida) AS 'Qtde Produzida'
Até aí tudo bem, o problema é que não estou conseguindo somar as contagens, exemplo:
Operador contagem Qtde Produzida
Bruno 03:05:10 1000
Bruno 01:55:20 2000
Quero que no meu grid apareça assim
Operador contagem Qtde Produzida
Bruno 05:00:30 3000
Se eu faço SUM(contagem) AS 'CONT_TOTAL', ele retorna somente o numero de segundos...
Alguém pode me ajudar ?
Grato.
Estou desenvolvendo um programa de controle de produção, e em cada registro inserido, um Operador inicia e termina uma operação em determinada CNC.
Nesse meio tempo, tenho um campo "contagem" do tipo TIME, que recebe o tempo entre o inicio e o fim dessa produção, que está no formato hh:mm:ss.
Pois bem, fiz um formulário para mostrar o histórico de cada Operador (Operador mais Produtivo).
Antes de abrir este formulário, eu informo o período de datas que quero que filtre, mas o problema é o seguinte.
Nesse mesmo filtro, estou fazendo um select, cujo o mesmo também está agrupando (GROUP BY) por operador, mas preciso também da somatória da:
- Quantidade Produzida
- Contagem total
Para a quantidade produzida estou usando: SUM(qtdde_produzida) AS 'Qtde Produzida'
Até aí tudo bem, o problema é que não estou conseguindo somar as contagens, exemplo:
Operador contagem Qtde Produzida
Bruno 03:05:10 1000
Bruno 01:55:20 2000
Quero que no meu grid apareça assim
Operador contagem Qtde Produzida
Bruno 05:00:30 3000
Se eu faço SUM(contagem) AS 'CONT_TOTAL', ele retorna somente o numero de segundos...
Alguém pode me ajudar ?
Grato.
Bruno Souza
Curtidas 0
Melhor post
Fabiano Carvalho
10/06/2014
Olá,
Encontrei isso, veja se ajuda.
Encontrei isso, veja se ajuda.
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( nome_campo ) ) ) AS total_horas FROM nome_tabela
GOSTEI 2
Mais Respostas
Fabiano Carvalho
10/06/2014
Qual o banco de dados?
Em SQL Server, é possível converter esse valor para float e em seguida fazer a somatória, e por fim converter para time novamente, acredito que em outros bancos o raciocionio seja o mesmo, pois a hora do WINDOWS é em float.
Em SQL Server, é possível converter esse valor para float e em seguida fazer a somatória, e por fim converter para time novamente, acredito que em outros bancos o raciocionio seja o mesmo, pois a hora do WINDOWS é em float.
GOSTEI 1
Bruno Souza
10/06/2014
Uso MySQL (phpMyAdmin), faço a conexão usando Driver ODBC 5.1
No delphi as ferramentas são:
ADOConection
ADOQuery
No delphi as ferramentas são:
ADOConection
ADOQuery
GOSTEI 0
Fransuwel
10/06/2014
Se encaixou perfeitamente ao meu projeto. É parecido com o do Bruno Souza.
GOSTEI 0