random

Requête select et random en SQL

Comment faire une selection aléatoire en SQL

sql random, random sql, select sql, sql select random, aleatoire sql, sql aleatoire, requete sql random, requete sql select, requete sql mysql, requete sql aleatoire, sql order random, sql order by random, sql selection aleatoire, order by rand sql, mysql random select

Date de publication : 2009-08-13 11:25:17

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