Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:É possível 'preencher' um SELECT com valores sem uma tabela?


Se possível, tente ficar longe de gerar dados em tempo real. Torna as consultas muito simples ridiculamente complexas, mas acima de tudo:confunde o otimizador sem fim.

Se você precisar de uma série de números inteiros, use uma tabela estática de números inteiros. Se você precisar de uma série de datas, meses ou qualquer outra coisa, use uma tabela de calendário. A menos que você esteja lidando com alguns requisitos realmente extraordinários, uma tabela estática é o caminho a seguir.

Dei um exemplo de como criar uma tabela de números e uma tabela de calendário mínima (somente datas) em esta resposta .

Se você tiver essas tabelas no lugar, fica fácil resolver sua consulta.
  1. Agregue os dados do pedido para MONTH.
  2. Junte à direita à tabela de meses (ou MONTH distinto da tabela de datas)