Možná budete chtít experimentovat s OFFSET
, jako v
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
N
je počet řádků v mytable
. Možná budete muset nejprve provést SELECT COUNT(*)
zjistit hodnotu N
.
Aktualizovat (od Antonyho Hatchkinse)
Musíte použít floor
zde:
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Zvažte tabulku o 2 řádcích; random()*N
generuje 0 <= x < 2
a například SELECT myid FROM mytable OFFSET 1.7 LIMIT 1;
vrátí 0 řádků z důvodu implicitního zaokrouhlení na nejbližší int.