Berikut cara cepat untuk mengembalikan baris acak dari tabel di MariaDB.
Misalkan kita memiliki tabel bernama Pets
dengan data sebagai berikut:
SELECT
PetId,
PetName
FROM Pets;
Hasil:
+-------+---------+ | PetId | PetName | +-------+---------+ | 1 | Fluffy | | 2 | Fetch | | 3 | Scratch | | 4 | Wag | | 5 | Tweet | | 6 | Fluffy | | 7 | Bark | | 8 | Meow | +-------+---------+
Kita dapat menggunakan RAND()
berfungsi bersama dengan ORDER BY
klausa dan LIMIT
kata kunci untuk mengembalikan baris acak dari tabel itu.
Contoh:
SELECT
PetId,
PetName
FROM Pets
ORDER BY RAND()
LIMIT 5;
Contoh hasil:
+-------+---------+ | PetId | PetName | +-------+---------+ | 5 | Tweet | | 7 | Bark | | 1 | Fluffy | | 8 | Meow | | 3 | Scratch | +-------+---------+
Dan jika saya menjalankannya lagi, saya mendapatkan ini:
+-------+---------+ | PetId | PetName | +-------+---------+ | 3 | Scratch | | 8 | Meow | | 4 | Wag | | 7 | Bark | | 6 | Fluffy | +-------+---------+
Dan seterusnya…
Ingatlah bahwa ini cukup intensif, dan tidak boleh digunakan pada tabel yang lebih besar.
Saat menggunakan teknik ini, MariaDB membaca semua baris dalam tabel, menghasilkan nilai acak untuk masing-masing baris, mengurutkannya, dan akhirnya menerapkan LIMIT
ayat. Ini akan menghasilkan kueri yang sangat lambat pada tabel besar.
Lihat Pengambilan Sampel Data:Teknik untuk Menemukan Baris Acak Secara Efisien di situs web MariaDB untuk teknik yang lebih cocok untuk tabel yang lebih besar.