sql >> Base de Datos >  >> RDS >> Mysql

Grupo MySQL por número de semana con columna de fecha múltiple

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

sqlFiddle

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.