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

Jak generować dane w MySQL?

SQL jest notorycznie kiepski w zwracaniu danych, których nie ma w bazie danych. Możesz znaleźć początkowe i końcowe wartości dla luk dat, ale znalezienie wszystkich dat jest trudne.

Rozwiązaniem jest utworzenie tabeli kalendarza z jednym rekordem dla każdej daty i OUTER JOIN do zapytania.

Oto przykład zakładający, że created_at to typ DATE:

SELECT calendar_date, COUNT(`id`)
FROM calendar LEFT OUTER JOIN my_table ON calendar.calendar_date = my_table.created_at
GROUP BY calendar_date

(Domyślam się, że created_at to tak naprawdę DATETIME, więc będziesz musiał zrobić trochę więcej gimnastyki, aby DOŁĄCZYĆ do stołów).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja MySQL GREATEST() – znajdź największy argument na liście argumentów

  2. Dynamiczne połączenie z bazą danych MySQL dla Entity Framework 6

  3. (mysql, php) Jak uzyskać wartość pola auto_increment przed wstawieniem danych?

  4. Co jest szybsze, SELECT DISTINCT lub GROUP BY w MySQL?

  5. Pokrycie MySQL vs indeks złożony vs indeks kolumn