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.
Entradas relacionadas