Dernières vidéos

Associations

Soutenez la Quadrature Soutenez le logiciel libre
 
random

Requête select et random en SQL

Comment faire une selection aléatoire en SQL

mysql random, select random, sql random, requete sql, random sql, mysql rand, rand sql, random mysql, sql random select, select sql, rand mysql, sql order rand, sql rand, select rand, sql select random

Pour faire une sélection aléatoire dans mysql on peut combiner la fonction rand() et la clause order by.

Sélection aléatoire d'une ligne

La requête sql suivante sélectionne une ligne au hasard dans la table MA_TABLE :

SELECT *
FROM MA_TABLE
ORDER BY RAND( )
LIMIT 1

Performances

La requête précédente est certes bien pratique mais je dois vous avertir qu'elle n'est pas du tout optimisée comme le montre la requête explain suivante :

EXPLAIN SELECT CON_ID
FROM CONTENTS
ORDER BY RAND( )
LIMIT 1;
Extra : Using index; Using temporary; Using filesort

On obtient le duo gagnant qui indique une requête SQL non optimisée : Using temporary; Using filesort, vous êtes prévenu.

Jeremy Brooks