And they call SQL a "standard" ;)
Select a random row with MySQL:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
Select a random row with PostgreSQL:
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
Select a random row with Microsoft SQL Server:
SELECT TOP 1 column FROM table
ORDER BY NEWID()
Select a random row with IBM DB2
SELECT column FROM table
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY
Select a random record with Oracle:
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
Note. I'm not complaining too seriously, in my work I mostly use Oracle (occasionally DB/2 but that can't be helped). I am aware of the wealth of functionality available at Oracle over say, MySQl, which mostly excuses the differing syntax.

0 comments:
Post a Comment