Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Grupo MySQL por número de semana com coluna de data múltipla


tentar:
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

Você tem que escrever cerca de 30 (suas colunas de data) de junção esquerda, e o requisito é que sua primeira coluna de data não tenha uma semana vazia (com uma contagem de 0) ou as junções serão perdidas.