SQL Tips: Selezionare una riga casuale da una tabella
Mi e' capitato, anche spesso, di dover selezionare una riga casuale da una tabella: senza dover scomodare il linguaggio di programmazione utilizzato per l'accesso ai dati, possiamo effettuare l'operazione direttamente da SQL.
MySQL:
SELECT * FROM tabella
ORDER BY RAND()
LIMIT 1
Microsoft SQL Server:
SELECT TOP 1 * FROM tabella
ORDER BY NEWID()
PostgreSQL:
SELECT * FROM tabella
ORDER BY RANDOM()
LIMIT 1
Oracle:
SELECT * FROM
( SELECT * FROM tabella
ORDER BY dbms_random.value )
WHERE rownum = 1
IBM DB2:
SELECT * FROM tabella
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY
MySQL:
SELECT * FROM tabella
ORDER BY RAND()
LIMIT 1
Microsoft SQL Server:
SELECT TOP 1 * FROM tabella
ORDER BY NEWID()
PostgreSQL:
SELECT * FROM tabella
ORDER BY RANDOM()
LIMIT 1
Oracle:
SELECT * FROM
( SELECT * FROM tabella
ORDER BY dbms_random.value )
WHERE rownum = 1
IBM DB2:
SELECT * FROM tabella
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY