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

MySQL:Czy można „wypełnić” SELECT wartościami bez tabeli?

Jeśli to możliwe, staraj się trzymać z daleka od generowania danych w locie. To sprawia, że ​​bardzo proste zapytania są śmiesznie skomplikowane, ale przede wszystkim:bardzo dezorientują optymalizator.

Jeśli potrzebujesz serii liczb całkowitych, użyj statycznej tabeli liczb całkowitych. Jeśli potrzebujesz serii dat, miesięcy lub czegokolwiek, użyj tabeli kalendarza. O ile nie masz do czynienia z naprawdę niezwykłymi wymaganiami, najlepszym rozwiązaniem jest stół statyczny.

Podałem przykład, jak utworzyć tabelę liczb i minimalną tabelę kalendarza (tylko daty) w ta odpowiedź .

Jeśli masz te tabele na miejscu, rozwiązanie zapytania staje się łatwe.

  1. Zbierz dane zamówienia do MIESIĄCA.
  2. Dołącz po prawej stronie do tabeli miesięcy (lub odrębny MIESIĄC od tabeli dat)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie do obliczenia sumy odległości (długość, szerokość geograficzna) w kolejnych wierszach w Mysql

  2. Paginacja Ajax z Jquery, PHP, Mysql

  3. Żądanie MySQL do łączenia i wyszukiwania w 2 tabelach

  4. Jak obsługiwać klucz obcy podczas partycjonowania

  5. Uruchom, aby po cichu zignorować / usunąć zduplikowane wpisy na INSERT