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

Hvad er den bedste måde at tilfældige 1000 rækker (ikke duplikere rækker) fra mysql?

Ud fra kommentaren er du også tilfreds med et teoretisk svar.

Hvis du har dit array med alle rækker, skal du bruge array_unique() for at slippe af med duplikerede rækker, så brug shuffle() for at blande dem sammen, og til sidst kan du tage en skive med array_slice() .

EDIT:

Du kan forbedre det, når du allerede ikke vælger dublerede rækker, så behøver du ikke bruge array_unique() . Til dette brug DISTINCT . Og hvis du vil gøre alt i en forespørgsel, kan du gøre noget som dette:

SELECT DISTINCT column FROM table
ORDER BY RAND()
LIMIT 1000



  1. MySQL trunkerer sammenkædet resultat af en GROUP_CONCAT-funktion

  2. Sådan finder du en tabel, hvor statistik er låst

  3. Der blev ikke fundet nogen passende driver, når man inkluderer de nødvendige drivere med maven-assembly-plugin

  4. Indeks en MySQL-database med Apache Lucene, og hold dem synkroniserede