calcular uma sum do tipo time usando sql

Como calcular a sum dos tempos do meu cólon chamado “timeSpent” com este formato: HH: mm em SQL? Eu estou usando o MySQL.

o tipo da minha coluna é o tempo.

tem essa estrutura

 Horário como 10:00:00 12:00:00 02:00:00
 TimeUntil 08:00:00 09:15:00 01:15:00
 Tempo gasto      

 tempo total 03:15:00

 SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `timeSpent` ) ) ) AS timeSum FROM YourTableName 

Isso funcionou para mim. Espero que isto ajude.

100% de código de trabalho para obter a sum de tempo fora do database MYSQL:

 SELECT SEC_TO_TIME( SUM(time_to_sec(`db`.`tablename`))) As timeSum FROM `tablename` 

Tente e confirme. Obrigado.

Se o tipo de dados da coluna timeSpent for TIME você poderá usar a seguinte consulta:

 SELECT SUM(timeSpent) FROM YourTableName -- replace YourTableName with the actual table name 

No entanto, se esse não for o caso, talvez seja necessário usar uma conversão para converter para o tipo de dados Time . Algo como isso deve funcionar:

 SELECT SUM(timeSpent - CAST('0:0:0' as TIME)) FROM YourTableName -- replace YourTableName with the actual table name 

No MySQL, você faria algo assim para obter o intervalo de tempo:

 SELECT TIMEDIFF('08:00:00', '10:00:00'); 

Então, para adicionar os intervalos de tempo, você faria:

 SELECT ADDTIME('01:00:00', '01:30:00'); 

Infelizmente, você não está armazenando datas ou usando o tempo de 24 horas, portanto, esses cálculos acabariam incorretos, pois o seu TimeUntil é realmente menor que o seu TimeFrom .

Outra abordagem seria (supondo que você resolver o problema acima) para armazenar os intervalos de tempo como segundos usando TIMESTAMPDIFF() :

 UPDATE my_table SET time_spent=TIMESTAMPDIFF(start, end)); SELECT SEC_TO_TIME(SUM(time_spent)) FROM my_table;