Если у вас есть данные за все месяцы в таблице - но только не для этого пользователя - тогда самый простой (хотя и не самый эффективный) подход - это условное агрегирование:
SELECT MONTH(date_point) as mon,
SUM(CASE WHEN p.user_id = 1 THEN p.hours END) as recap
FROM pointage p
WHERE YEAR(date_point) = 2020
GROUP BY MONTH(date_point) ;
В противном случае вам нужно список месяцев, который может быть сгенерирован разными способами - календарная таблица, рекурсивное CTE, явно:
select m.mon, sum(p.hours)
from (select 'Jan' as mon, 1 as mm union all
select 'Feb' as mon, 2 as mm union all
. . .
) m left join
pointage p
on p.date_point >= '2020-01-01' and '2021-01-01' and
p.user_id = 1 and
month(p.date_point) = m.mm
group by m.mon
order by min(m.mm);