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

Ngẫu nhiên () Trong MySql?

SELECT *
FROM X
WHERE flags = 0
ORDER BY rand()
LIMIT 1

Điều này lấy ra 1 hàng ngẫu nhiên. Thay 1 bởi N để có N hàng ngẫu nhiên.

Lưu ý:Như những người khác đã chỉ ra, điều này có thể chậm vì nó cần quét toàn bộ bảng. Tôi đã từng làm điều này với DB2, nơi điều này hoạt động hoàn hảo cho các bảng có hàng trăm nghìn hàng, nhưng theo liên kết trong câu trả lời của tereško , MySQL dường như xuống cấp nhanh hơn nhiều.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ĐẶT HÀNG THEO id hoặc date_crated để hiển thị kết quả mới nhất?

  2. Không tìm thấy phương pháp trong lớp

  3. CẬP NHẬT Nguyên tử MySQL trong InnoDB vs MyISAM

  4. Hiển thị dữ liệu với định dạng trong Datagridview

  5. NOW () Ví dụ - MySQL