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.