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

MySQL:Възможно ли е да се "запълни" SELECT със стойности без таблица?

Ако е възможно, опитайте се да стоите далеч от генерирането на данни в движение. Той прави много простите заявки нелепо сложни, но преди всичко:обърква оптимизатора безкрайно.

Ако имате нужда от поредица от цели числа, използвайте статична таблица с цели числа. Ако имате нужда от поредица от дати, месеци или каквото и да било, използвайте календарна таблица. Освен ако не се справяте с някои наистина изключителни изисквания, статичната таблица е правилният начин.

Дадох пример как да създадете таблица с числа и минимална календарна таблица (само дати) в този отговор .

Ако разполагате с тези таблици, става лесно да разрешите заявката си.

  1. Агрегирайте данните за поръчката до MONTH.
  2. Дясно присъединяване към таблицата с месеци (или отделен MONTH от таблицата с дати)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLSTATE[22007]:Невалиден формат за дата и час:1292 Неправилна стойност за дата и час:'2008-03-30 02:56:12'

  2. Разлика между SELECT INTO и INSERT INTO в MySQL

  3. Mysql заявката не използва индекс, когато има променливи в WHERE

  4. C# -- Извличане на данни от MySQL и подреждането им в страници без DataGridView

  5. SQL списък с етикети и филтриране на етикети