sql >> Base de Datos >  >> RDS >> Mysql

Seleccione una fila aleatoria de MySQL (con probabilidad)

Si cur_odds se cambia rara vez podría implementar el siguiente algoritmo:

1) Crea otra columna prob_sum , por lo que

2) Generar un número aleatorio del 0 al 1:

3) Encuentra la primera fila para la cual prob_sum > rnd (si crea un índice BTREE en el prob_sum , la consulta debería funcionar mucho más rápido):