Her er en hurtig måde at returnere tilfældige rækker fra en tabel i MariaDB.
Antag, at vi har en tabel kaldet Pets med følgende data:
SELECT
PetId,
PetName
FROM Pets; Resultat:
+-------+---------+ | PetId | PetName | +-------+---------+ | 1 | Fluffy | | 2 | Fetch | | 3 | Scratch | | 4 | Wag | | 5 | Tweet | | 6 | Fluffy | | 7 | Bark | | 8 | Meow | +-------+---------+
Vi kan bruge RAND() funktion sammen med en ORDER BY klausulen og LIMIT nøgleord for at returnere tilfældige rækker fra den tabel.
Eksempel:
SELECT
PetId,
PetName
FROM Pets
ORDER BY RAND()
LIMIT 5; Eksempelresultat:
+-------+---------+ | PetId | PetName | +-------+---------+ | 5 | Tweet | | 7 | Bark | | 1 | Fluffy | | 8 | Meow | | 3 | Scratch | +-------+---------+
Og hvis jeg kører det igen, får jeg dette:
+-------+---------+ | PetId | PetName | +-------+---------+ | 3 | Scratch | | 8 | Meow | | 4 | Wag | | 7 | Bark | | 6 | Fluffy | +-------+---------+
Og så videre...
Husk, at dette er ret intensivt og ikke bør bruges på større borde.
Når du bruger denne teknik, læser MariaDB alle rækker i tabellen, genererer en tilfældig værdi for hver af dem, bestiller dem og til sidst anvender LIMIT klausul. Dette vil resultere i en meget langsom forespørgsel på store tabeller.
Se Datasampling:Teknikker til effektivt at finde en tilfældig række på MariaDB-webstedet for teknikker, der er mere egnede til større tabeller.