Hacer selección (SELECT) por orden aleatorio en MySQL

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.

2 comentarios para “Hacer selección (SELECT) por orden aleatorio en MySQL”

  1. Sisco Dice:

    Gracias por tu apunte, muy útil, po ejemplo para ua galeria fotográfica. :)

  2. javier Dice:

    Excelente para elegir mostrar una imagen con publicidad en forma aleatoria, gracias.

Escribe un comentario