MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Trả lại hàng ngẫu nhiên từ một bảng trong MariaDB

Đây là một cách nhanh chóng để trả về các hàng ngẫu nhiên từ một bảng trong MariaDB.

Giả sử chúng ta có một bảng có tên là Pets với dữ liệu sau:

SELECT  
    PetId,
    PetName
FROM Pets;

Kết quả:

+-------+---------+
| PetId | PetName |
+-------+---------+
|     1 | Fluffy  |
|     2 | Fetch   |
|     3 | Scratch |
|     4 | Wag     |
|     5 | Tweet   |
|     6 | Fluffy  |
|     7 | Bark    |
|     8 | Meow    |
+-------+---------+

Chúng ta có thể sử dụng RAND() chức năng kết hợp với ORDER BY mệnh đề và LIMIT từ khóa để trả về các hàng ngẫu nhiên từ bảng đó.

Ví dụ:

SELECT  
    PetId,
    PetName
FROM Pets 
ORDER BY RAND() 
LIMIT 5;

Kết quả ví dụ:

+-------+---------+
| PetId | PetName |
+-------+---------+
|     5 | Tweet   |
|     7 | Bark    |
|     1 | Fluffy  |
|     8 | Meow    |
|     3 | Scratch |
+-------+---------+

Và nếu tôi chạy lại, tôi nhận được điều này:

+-------+---------+
| PetId | PetName |
+-------+---------+
|     3 | Scratch |
|     8 | Meow    |
|     4 | Wag     |
|     7 | Bark    |
|     6 | Fluffy  |
+-------+---------+

Và cứ thế…

Hãy nhớ rằng điều này khá khó và không nên được sử dụng trên các bảng lớn hơn.

Khi sử dụng kỹ thuật này, MariaDB đọc tất cả các hàng trong bảng, tạo giá trị ngẫu nhiên cho từng hàng, sắp xếp thứ tự cho chúng và cuối cùng áp dụng LIMIT mệnh đề. Điều này sẽ dẫn đến truy vấn rất chậm trên các bảng lớn.

Xem Lấy mẫu Dữ liệu:Các Kỹ thuật Tìm Hàng Ngẫu nhiên Hiệu quả trên trang web MariaDB để biết các kỹ thuật phù hợp hơn với các bảng lớn hơn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách UPPER () hoạt động trong MariaDB

  2. Sử dụng plugin kiểm tra MariaDB để bảo mật cơ sở dữ liệu

  3. Khám phá các cách khác nhau để mã hóa dữ liệu MariaDB của bạn

  4. MariaDB JSON_UNQUOTE () Giải thích

  5. Cách hoạt động của toán tử LIKE trong MariaDB