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

MySQL:Chọn mục nhập ngẫu nhiên, nhưng có trọng lượng đối với các mục nhập nhất định

Anh chàng này hỏi câu hỏi tương tự. Anh ta nói giống như Frank, nhưng trọng số không đúng và trong các nhận xét, ai đó đề xuất sử dụng ORDER BY -LOG(1.0 - RAND()) / Multiplier , trong thử nghiệm của tôi đã cho kết quả khá hoàn hảo.

(Nếu bất kỳ nhà toán học nào ngoài kia muốn giải thích lý do tại sao điều này đúng, xin hãy khai sáng cho tôi! Nhưng nó hoạt động.)

Điều bất lợi là bạn không thể đặt trọng số thành 0 để tạm thời vô hiệu hóa một tùy chọn, vì cuối cùng bạn sẽ chia cho số không. Nhưng bạn luôn có thể lọc ra bằng WHERE Multiplier > 0 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL DATEDIFF () so với TIMESTAMPDIFF ():Sự khác biệt là gì?

  2. Phân trang PHP &MySQL

  3. MySQL CONVERT_TZ ()

  4. Lỗi MySQL 1449:Người dùng được chỉ định làm trình xác định không tồn tại

  5. Sử dụng HHVM với WordPress