Vous voudrez peut-être expérimenter avec OFFSET , comme dans
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Le N est le nombre de lignes dans mytable . Vous devrez peut-être d'abord faire un SELECT COUNT(*) pour déterminer la valeur de N .
Mettre à jour (par Antony Hatchkins)
Vous devez utiliser floor ici :
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Considérons un tableau de 2 lignes; random()*N génère 0 <= x < 2 et par exemple SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; renvoie 0 lignes en raison de l'arrondi implicite à l'entier le plus proche.