Nunca había necesitado hacer algo así pero hoy, por razones del destino necesitaba seleccionar de la base de datos un registro de manera totalmente aleatoria, si alguna vez necesitas hacer lo mismo, puedes hacer uso la siguiente sintaxis:
SELECT * FROM Tabla ORDER BY RAND() LIMIT 1
Lo de limit 1 implica que sólo nos devuelva un registro, pero no es obligatorio, lo que realmente implica el orden aleatorio es la clausula ORDER BY RAND()
Si también queremos que los registros aleatorios no sean repetidos, bien podemos quitar el limit 1 y saldrán todos de manera aleatoria (sin ningún orden aparente) o bien podemos ir poniendo los que han salido en otra tabla y usar el comando NOT IN
SELECT * FROM Tabla1 ORDER BY RAND() LIMIT 1 WHERE Campo1 NOT IN (SELECT campo2 FROM Tabla2)
En vez de una segunda tabla también podemos usar un array.








Justo lo que necesitaba. Explicito y muy bien explicado.
Muchas gracias
Me alegro de que te sirviera
Gracias es lo q necesitaba muxas gracias. xD