Olá Pessoal, estou com um problema aqui para resolver:
- eu possuo uma primeira query que é esta
select motorista, id_ref,
MIN(horario_partida) as min,
MAX(horario_volta) as max from tb_rotas where motorista = 99 group by id_ref
Obs: esse where ali depois será removido, coloquei dessa forma apenas para segmentar entre diversos dados que tenho para testar agora, mas o group by continua.
Nessa query, ele me retorna o mínimo e máximo de tempo agrupado pelo id_ref. Então retorna assim:
motorista id_ref min max
99 2574 2018-02-02 20:00:00 2018-02-02 20:35:00
99 2579 2018-02-01 12:00:00 2018-02-01 12:20:00
99 2580 2018-02-01 14:00:00 2018-02-01 15:10:00
- Na segunda query, eu gostaria de pegar esses resultados ali de min e max e contar eles transformando para segundos:
select SUM(TIME_TO_SEC(TIMEDIFF(max, min))) as tempo from tb_rotas group by motorista order by tempo desc
Veja que dentro do timediff o max e min tem que vir da primeira query, como se fosse queries em sequência. Porém não consigo resolver. Alguém poderia me ajudar ?
A ideia de todo esse código é somar os intervalos entra o min e max de tempo e agrupar por motoristas. Porém, eu faço a primeira query para pegar o intervalo min e max do id_ref que possui mais registros no caso.
Fico no aguardo, abraço!