Si queremos hacer una consulta (select) en MySQL que nos obtenga un conjunto de registros con un orden aleatorio, tendremos que usar la función RAND(), tal y como muestro en el siguiente ejemplo:
SELECT * FROM tbl_elbitcampeador ORDER BY RAND();
Esta consulta obtiene todos los registros, con todos sus campos, de la tabla tbl_elbitcampeador y ordena dichos registros aleatoriamente.
Este método combinado con LIMIT es una manera muy útil de obtener un muestreo aleatorio de N elementos. Por ejemplo:
SELECT * FROM tabla_elbitcampeador ORDER BY RAND() LIMIT 100;
Obtiene 100 elementos aleatoriamente de la tabla tbl_elbitcampeador.
La función RAND() no está implementada haciendo uso de un perfecto algoritmo de generación aleatoria, pero nos ofrece una poderosa y rápida herramienta de selección aleatoria en una tabla.
1 Abril 2009 a las 07:45
Gracias por tu apunte, muy útil, po ejemplo para ua galeria fotográfica.
3 Julio 2009 a las 20:54
Excelente para elegir mostrar una imagen con publicidad en forma aleatoria, gracias.