Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Групиране по брой седмици с множество колони за дати

опитайте:

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

Трябва да напишете около 30 (вашите колони за дата) ляво присъединяване и изискването е първата ви колона за дата да има празна седмица (с брой 0) или присъединяванията ще пропуснат.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо тази проста MySQL заявка не връща реда?

  2. Проверка на типа на файла за JPG, JPEG, PNG

  3. Могат ли съхранените процедури да върнат набор от резултати?

  4. Структурата за проектиране/нормализиране на базата данни трябва да съдържа И, ИЛИ, незадължителни елементи и техните връзки

  5. MySQL:Увеличаване на GROUP_CONCAT_MAX_LEN параметър - някакви опасности?