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

Aleatorio () en MySql?

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

Esto recupera 1 fila aleatoria. Reemplace 1 por N para obtener N filas aleatorias.

Advertencia:como otros señalaron, esto puede ser lento ya que necesita un escaneo completo de la tabla. Solía ​​hacer esto con DB2, donde funcionó perfectamente para tablas con cientos de miles de filas, pero según el enlace en respuesta de tereško , MySQL parece degradarse mucho más rápido.