Pourquoi chaque serveur SQL à une façon différence de faire le même travail? En cherchant comment sélectionner une entrée au hasard d'une de mes tables sql, je me suis rendu compte que ce fameux " Structured Query Language " diffère beaucoup entre les différence saveurs.

C'est pourquoi j'ai concu ce petit aide mémoire que j'ai trouvé ici et la sur le l'Internet. Donc pour en revenir au vif du sujet, comment sélectionner une entrée aléatoire d'une table sql, ou si vous préférer en bon français fetcher un tuple au random dans ma DB comme certain disent.

#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 FROM table
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY


#Oracle:

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

Écrivez moi si vous avez d'autres méthode comme pour les autres bases de données open source tel que: FireBird, sqlite, etc.