Soma de Horários

Pessoal boa noite.
Estou com a seguinte necessidade de fazer uma totalização de horas:

Banco de dados MYSQL, SC8.1

Tenho um campo chamado hora:
No mysql o tipo do campo hora é (time)
No SC também
Preciso pegar um período e fazer a soma das horas.

Alguém já passou por isso? pode dar uma dica ou exemplo?

Para um outro processo separei o campo hora em três partes
t_hora
t_minutos
t_segundos

Desde já agradeço a todos.

Use isso,

ADDTIME(expr,expr2)

ADDTIME() adiciona expr2 a expr e retorna o resultado. expr é uma expressão date ou datetime, e expr2 é uma expressão time.

Att,

Olha obrigado pelo apoio, estou tentando montar o que eu preciso, mas esta dando este erro:

SQL ERROR’s:
Field:totalhoras SELECT ADDTIME d_chamada FROM tb_bilhete WHERE d_chamada = ‘{totalhoras}’ ORDER BY d_chamada
(Incorrect parameter count in the call to native function ‘ADDTIME’)

Mysql:
no campo criado: totalhoras =

SELECT ADDTIME d_chamada
FROM tb_bilhete
WHERE d_chamada = ‘{totalhoras}’
ORDER BY d_chamada

Se puder ajudar agradeço.

Use o mktime do php, basta dividir dia, mes, ano (se tiver) hora, minuto, segundo em variáveis e usar a função somando hora com hora minuto com minuto.

Eu tenho uma view em um projeto onde faço um retorno com a diferença entre duas datas retornando as horas veja se te ajuda:

SELECT `help_chamado`.`idhelp_chamado` AS `idhelp_chamado`, `help_chamado`.`help_categorias_idhelp_categorias` AS `help_categorias_idhelp_categorias`, `help_chamado`.`departamento_iddepartamento` AS `departamento_iddepartamento`, `help_chamado`.`data_cadastro` AS `data_cadastro`, HOUR(TIMEDIFF(`help_chamado`.`data_fim`, `help_chamado`.`data_inicio`)) AS `difhora`, `help_chamado`.`help_prioridades` AS `help_prioridades`, `help_chamado`.`data_inicio` AS `data_inicio`, `help_chamado`.`data_fim` AS `data_fim`, `help_chamado`.`controle` AS `controle`, `help_categorias`.`nome_categoria` AS `nome_categoria`, `help_status`.`descricao_help_status` AS `descricao_help_status`, `departamento`.`nome_departamento` AS `nome_departamento`, `sec_users`.`name` AS `name`, (CASE WHEN (TIMEDIFF(`help_chamado`.`data_fim`, `help_chamado`.`data_inicio`) BETWEEN '00:00:00' AND '02:00:00') THEN 'Excelente' WHEN (TIMEDIFF(`help_chamado`.`data_fim`, `help_chamado`.`data_inicio`) BETWEEN '02:0:01' AND '04:00:00') THEN 'Bom' WHEN (TIMEDIFF(`help_chamado`.`data_fim`, `help_chamado`.`data_inicio`) BETWEEN '04:00:01' AND '06:00:00') THEN 'Aceitável' WHEN (TIMEDIFF(`help_chamado`.`data_fim`, `help_chamado`.`data_inicio`) BETWEEN '06:00:01' AND '08:00:00') THEN 'Ruim' WHEN (TIMEDIFF(`help_chamado`.`data_fim`, `help_chamado`.`data_inicio`) BETWEEN '08:00:01' AND '10:00:00') THEN 'Péssimo' ELSE 'Inaceitável' END) AS `Ranking` FROM ((((`help_chamado` LEFT JOIN `help_categorias` ON ((`help_chamado`.`help_categorias_idhelp_categorias` = `help_categorias`.`idhelp_categorias`))) LEFT JOIN `help_status` ON ((`help_chamado`.`status_chamados` = `help_status`.`id_help_status`))) LEFT JOIN `departamento` ON ((`help_chamado`.`departamento_iddepartamento` = `departamento`.`iddepartamento`))) LEFT JOIN `sec_users` ON ((`help_chamado`.`responsavel` = `sec_users`.`login`))) WHERE ((`help_chamado`.`data_inicio` <> 'NULL') AND (`help_chamado`.`data_fim` <> 'NULL'))

Celso,

Tive um problema semelhante a alguns anos atrás e consegui resolver transformando tudo em segundos para fazer o cálculo e depois do resultado obtido voltei ao formato original. Criar uma ‘view’ e usar ‘funções’ ajuda muito!

No php se usa a função: mktime e no mysql tem a SEC_TO_TIME, dependendo se quer se somar as horas TOTAIS tem que transformar tudo em segundos somar e depois remontar o ‘TIME’ por HH:MM:SS