prueba:
SELECT weekofyear(forcast_date) AS week_forcast,
COUNT(forcast_date) AS count_forcast, t2.count_actual
FROM
t t1 LEFT JOIN (
SELECT weekofyear(actual_date) AS week_actual,
COUNT(forcast_date) AS count_actual
FROM t
GROUP BY weekOfYear(actual_date)
) AS t2 ON weekofyear(forcast_date)=week_actual
GROUP BY
weekofyear(forcast_date), t2.count_actual
Tiene que escribir alrededor de 30 (sus columnas de fecha) que quedan unidas, y el requisito es que su primera columna de fecha no debe tener una semana vacía (con un conteo de 0) o las uniones se perderán.