sql >> Database >  >> RDS >> Mysql

MySQL:Is het mogelijk om een ​​SELECT te 'vullen' met waarden zonder tabel?

Probeer indien mogelijk weg te blijven van het on-the-fly genereren van gegevens. Het maakt heel eenvoudige zoekopdrachten belachelijk complex, maar vooral:het brengt de optimizer eindeloos in verwarring.

Als je een reeks gehele getallen nodig hebt, gebruik dan een statische tabel met gehele getallen. Als je een reeks datums, maanden of wat dan ook nodig hebt, gebruik dan een kalendertabel. Tenzij je te maken hebt met een aantal echt buitengewone vereisten, is een statische tabel de juiste keuze.

Ik gaf een voorbeeld van het maken van een tabel met getallen en een minimale kalendertabel (alleen datums) in dit antwoord .

Als je die tabellen hebt, wordt het gemakkelijk om je vraag op te lossen.

  1. Voeg de bestelgegevens samen tot MAAND.
  2. Rechts toevoegen aan de tabel van maanden (of MAAND onderscheiden van de tabel met datums)


  1. orakel | dubbele records verwijderen

  2. Hoe meerdere rijen uit de opgeslagen procedure te retourneren? (Oracle PL/SQL)

  3. Hoe schakel ik het MySQL-log met trage query's in?

  4. hoe hernoem je een schema in MySQL