Du vil måske eksperimentere med OFFSET , som i
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
N er antallet af rækker i mytable . Du skal muligvis først lave en SELECT COUNT(*) for at finde ud af værdien af N .
Opdater (af Antony Hatchkins)
Du skal bruge floor her:
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Overvej en tabel med 2 rækker; random()*N genererer 0 <= x < 2 og for eksempel SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; returnerer 0 rækker på grund af implicit afrunding til nærmeste int.