sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Er det muligt at 'fylde' en SELECT med værdier uden en tabel?

Hvis det overhovedet er muligt, så prøv at holde dig væk fra at generere data i farten. Det gør meget simple forespørgsler latterligt komplekse, men frem for alt:det forvirrer optimeringsværktøjet til ingen ende.

Hvis du har brug for en række heltal, skal du bruge en statisk tabel med heltal. Hvis du har brug for en række datoer, måneder eller hvad som helst, så brug en kalendertabel. Medmindre du har at gøre med nogle virkelig ekstraordinære krav, er en statisk tabel vejen at gå.

Jeg gav et eksempel på, hvordan man opretter en tabel med tal og en minimal kalendertabel (kun datoer) i dette svar .

Hvis du har disse tabeller på plads, bliver det nemt at løse din forespørgsel.

  1. Samlet ordredataene til MONTH.
  2. Tilføj til højre i tabellen over måneder (eller adskille MONTH fra tabellen over datoer)


  1. GROUP BY for kontinuerlige rækker i SQL

  2. Sådan sikrer du Galera Cluster - 8 tips

  3. Gør et stykke tid / loop for at få 10 tilfældige resultater

  4. Tilbagekomsten af ​​XFS på Linux