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

Làm cách nào để thêm trọng số vào bảng MySQL và chọn các giá trị ngẫu nhiên theo các giá trị này?

Tôi đã tìm thấy thuật toán nhỏ hay trong Quod Libet. Bạn có thể dịch nó sang một số SQL thủ tục.

function WeightedShuffle(list of items with weights):
  max_score ← the sum of every item’s weight
  choice ← random number in the range [0, max_score)
  current ← 0
  for each item (i, weight) in items:  
    current ← current + weight  
    if current ≥ choice or i is the last item:  
      return item i


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ứng dụng để thiết kế ngược MySQL &PostgreSQL DB?

  2. Cách trích dẫn các giá trị bằng group_concat

  3. Đặt NOW () làm Giá trị Mặc định cho kiểu dữ liệu datetime?

  4. Chồng chéo Truy vấn Đặt chỗ

  5. Truy vấn SQL để tạo cơ sở dữ liệu trong MySQL