Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Grupa MySQL według numeru tygodnia z kolumną z wieloma datami

spróbuj:

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

Musisz napisać około 30 (Twoich kolumn dat) lewego złączenia, a warunkiem jest, aby Twoja pierwsza kolumna daty nie miała pustego tygodnia (z liczbą 0), w przeciwnym razie złączenia nie trafią.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatyczne lub regularne tworzenie kopii zapasowych danych mysql

  2. Czy wątek połączenia pymysql jest bezpieczny? Czy wątek kursora pymysql jest bezpieczny?

  3. Mysql łączy się w dwóch tabelach

  4. Jak mogę zatrzymać zapytanie MySQL, jeśli trwa zbyt długo?

  5. Najlepszy sposób na przechowywanie wiadomości czatu w bazie danych?