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.