MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Kembalikan Baris Acak dari Tabel di MariaDB

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menyebarkan Cluster MariaDB untuk Ketersediaan Tinggi

  2. Cara Mengurangi Jam dari Nilai Datetime di MariaDB

  3. Bagaimana TIME() Bekerja di MariaDB

  4. Cara Melakukan Operasi Failback untuk Pengaturan Replikasi MySQL

  5. Bagaimana SEC_TO_TIME() Bekerja di MariaDB