Може да искате да експериментирате с OFFSET , както в
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
N е броят на редовете в mytable . Може да се наложи първо да направите SELECT COUNT(*) за да разберете стойността на N .
Актуализиране (от Антони Хачкинс)
Трябва да използвате floor тук:
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Помислете за таблица от 2 реда; random()*N генерира 0 <= x < 2 и например SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; връща 0 реда поради имплицитно закръгляване до най-близкото цяло.