El rincón de JMACOE

SQL para seleccionar una fila aleatoriamente

Existen muchas maneras de seleccionar una fila aleatoriamente desde una tabla de base de datos. Aquí expongo algunos ejemplos de sentencias SQL que no requieren una lógica de aplicación adicional, pero cada servidor de base de datos requiere sintaxis de SQL diferentes.

MySQL

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Microsoft Sql Server

SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2

SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Oracle

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Siéntete libre de enviar otros ejemplos, variaciones, y sentencias SQL para otros servidores de base de datos en los comentarios.

Comparte y diviertete: