Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

patrick848

Calculando Horas e GROUP BY

Recommended Posts

Boa noite galera!

Seguinte estou com um problema em uma somatória de horas, preciso que o mysql toda as horas relacionada a matricula de uma determinada data e me traga o total de horas trabalhadas agrupado pela matricula do funcionário, abaixo está como os dados está dispostos no banco.


Matricula Carro Horário Inicial Horário Final Diferença (Horário Final - Horário Inicial)
9819 8006 2016-05-23 05:30:00 2016-05-23 05:59:00 00:29:00
9819 8006 2016-05-23 06:10:00 2016-05-23 06:49:00 00:39:00
9819 8006 2016-05-23 07:00:00 2016-05-23 10:39:00 03:39:00
9819 8006 2016-05-23 06:00:00 2016-05-23 06:09:00 00:09:00
9819 8006 2016-05-23 06:50:00 2016-05-23 06:59:00 00:09:00
9819 8440 2016-05-23 10:40:00 2016-05-23 13:22:00 02:42:00

 

Foi necessário colocar a Data e Horário pois algumas jornadas começam no fim do dia 23 por exemplo e termina no inicio do dia 24.

 

Tentei um select assim:

SELECT matricula, TIMEDIFF(hora_fim, hora_inicio) AS total_horas FROM op_escalapr
GROUP BY matricula

Porém no caso da matricula acima ele me traz apenas a diferença da primeira jornada que é 00:29:00 e não o calculo de 00:29:00 + 00:39:00 + 03:39:00 + 00:09:00 + 00:09:00 + 02:42:00, alguém pode me dar uma luz de como resolver este problema? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu converteria tudo para segundos , somaria em segundos e depois converteria para dias,horas,minutos e segundos ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu converteria tudo para segundos , somaria em segundos e depois converteria para dias,horas,minutos e segundos ...

Como poderia ficar isso na sintax? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não trabalho com MySql mas acredito que devam existir functions que calculem isto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.