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

hvordan randomisere hentning af spørgsmål fra databasen?

Du kan bruge LIMIT m,n at både begrænse antallet af resultater du får og udligne resultaterne med et givet beløb.

Nu kunne du gøre noget som:

 SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;

Hvor du beregner $page baseret på en $_GET variabel. Men dette løser ikke din tilfældighed.

Du kan altid seed RAND($key) af en given nøgle, som du gemmer i din session, så du kan ORDER BY RAND($key) og brug ovenstående grænseteknik.

Sandsynligvis den enkleste at implementere ville være at få hele resultatet sat, blande det og cache det. Brug derefter en php til kun at vise en bestemt del af cachen.

Da dette er relateret til paginering. Lad mig fortælle dig, LIMIT m,n er muligvis ikke så hurtigt, som det lyder. Lær, hvordan du forbedrer det og læs mere om Effektiv sideinddeling ved hjælp af MySQL



  1. MySQL LEFT JOIN, GROUP BY og ORDER BY fungerer ikke som påkrævet

  2. Installation af postgresql med NSIS

  3. JavaScript-datoobjektets månedsindeks begynder med 0

  4. Hvordan skriver man en case-ufølsom forespørgsel til både MySQL og Postgres?