Es posible que desee experimentar con OFFSET , como en
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
El N es el número de filas en mytable . Es posible que primero deba hacer SELECT COUNT(*) para averiguar el valor de N .
Actualizar (por Antony Hatchkins)
Debes usar floor aquí:
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Considere una tabla de 2 filas; random()*N genera 0 <= x < 2 y por ejemplo SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; devuelve 0 filas debido al redondeo implícito al int más cercano.