Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

TIMEDIFF timestamp com group by

Olá Pessoal, estou com um problema. Possuo a seguinte estrutura

ticket        inicio        fim
15            14:00:00    14:10:00
15            14:05:00    14:20:00

Eu preciso pegar o tempo de diferença entra o menor tempo de início e o maior tempo de fim ali, agrupado pelo id do ticket que no caso é 15.

Estou usando essa query:

select ticket,
       timediff(max(fim), min(inicio)) as diff
from tb_ticket group by ticket

Porém o resultado que ele me retorna é 00:10:00 (ou seja ele pega apenas a primeira linha nesse agrupamento ). O correto seria me retornar 00:20:00 que seria o intervalo entre o menor e o maior.

Alguém poderia me ajudar ?

2 respostas

Tente primeiro fazer o agrupamento, e depois, com base nestes resultados, calcular a diferença. A sua query ficaria desta forma:

select T2.ticket, timediff(T2.fim, T2.inicio) as diferenca
from (
select ticket,
      max(fim) as fim, min(inicio) as inicio
from tb_ticket group by ticket
) T2
solução!

Consegui resolver...o problema era em um join que eu estava dando na tabela de usuário que linkava ao ticket.

Obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software