Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie eine zufällige Zeile aus MySQL (mit Wahrscheinlichkeit)

Wenn cur_odds selten geändert wird, könnten Sie den folgenden Algorithmus implementieren:

1) Erstellen Sie eine weitere Spalte prob_sum , für die

2) Generieren Sie eine Zufallszahl von 0 bis 1:

3) Suchen Sie die erste Zeile, für die prob_sum > rnd (Wenn Sie einen BTREE-Index auf der prob_sum erstellen , sollte die Abfrage viel schneller funktionieren):