select usuarios.id as usuario,
       usuarios.nombre,
       timecontrollings.fecha,
       categoria_centro_costos.id as categoriaCentroCosto,
       categoria_centro_costos.nombre as nombreCategoriaCentroCosto,
       centro_costos.codigo as centroCosto,
       centro_costos.nombre as nombreCentroCosto,
       ROUND(SUM(timecontrollings.horas),2) as horasTotales,
       ROUND((SUM(timecontrollings.horas)*100/usuarios.horas),1) as porcentaje,
       timecontrollings.tipoTiempo as indicadorControl,
       tipo_tiempos.nombre as nombreIndicadorControl,
       areas.id as areaGerencia,
       areas.nombre as nombreAreaGerencia,
    YEAR(timecontrollings.fecha) as year,
    MONTH(timecontrollings.fecha) as mes,
    timecontrollings.observaciones,
    timecontrollings.createdAt,
    timecontrollings.updatedAt
from usuarios,
    timecontrollings,
    centro_costos,
    tipo_tiempos,
    categoria_centro_costos,
    areas
where timecontrollings.usuario=usuarios.id and
    timecontrollings.centroCosto=centro_costos.id and
    centro_costos.categoria=categoria_centro_costos.id and
    usuarios.area=areas.id and
    timecontrollings.tipoTiempo=tipo_tiempos.id
group by
    timecontrollings.usuario,
    timecontrollings.fecha,
    categoria_centro_costos.id,
    timecontrollings.centroCosto,
    tipo_tiempos.id
order by timecontrollings.usuario, timecontrollings.fecha desc
