random

Requête select et random en SQL

Comment faire une selection aléatoire en SQL

sql random, random sql, sql select random, random select sql, sql order random, select sql random, random requete sql, requete sql random, sql requete random, order random sql, aleatoire sql, sql select aleatoire, sql aleatoire, mysql random select, requete sql aleatoire

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

 
 

b1n@sp1n