Q:

Sumar las horas de dos campos tipo time MySQL

quiero pedir su ayuda, ya que estoy haciendo un programa de bitácoras el cual me permite registrar las actividades diarias de cada usuario. lo que quiero hacer ahora es realizar una consulta donde pueda sumar las horas laboradas por día, he intentado hacer varias consultas pero algunas solo me devuelven 1 y otras solo me suman las horas de 1 fila, quisiera que me ayudaran a poder realizar esta consulta, estare muy agradecido. les comparto los datos.
Los campos que quiero sumar son tipo time.
El nombre de los campos es inicio y fin.
Esta es la consulta que mas se ha acercado.
SELECT CONCAT( HOUR(SUM(TIMEDIFF(inicio, fin))), ':',MINUTE(SUM(TIMEDIFF(inicio, fin)))) FROM bitacoras_sistemas WHERE fecha = '2019-05-01'

Esta consulta solo me suma 1 fila

si solo suma la fila 1 me lo suma bien

Pero si quiero  sumar la fila 2 y 3 no lo hace correctamente

si alguien pudiera ayudarme estaria muy agradecido.

A:

Prueba pasando a segundos esa diferencia, que calculas con TIMEDIFF(), utilizando TIME_TO_SEC(), suma, y después ya vuelves a convertirlo a formato legible con SEC_TO_TIME():
SELECT SEC_TO_TIME(
    SUM(TIME_TO_SEC(TIMEDIFF(fin,inicio)))
  ) total FROM bitacoras_sistemas;

Sumando directamente en formato TIME, ya ves que no funciona.
Adjunto dataset abreviado en formato SQL para facilitar las comprobaciones:
CREATE TABLE bitacoras_sistemas(
  inicio time,
  fin time
  );
INSERT INTO bitacoras_sistemas (inicio, fin) VALUES
  ('8:30','9:00'),
  ('22:00','22:30'),
  ('12:30','13:00');

