Vielleicht möchten Sie mit OFFSET experimentieren , wie in
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Das N ist die Anzahl der Zeilen in mytable . Möglicherweise müssen Sie zuerst SELECT COUNT(*) ausführen um den Wert von N herauszufinden .
Aktualisieren (von Antony Hatchkins)
Sie müssen floor verwenden hier:
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
Stellen Sie sich eine Tabelle mit 2 Zeilen vor; random()*N erzeugt 0 <= x < 2 und zum Beispiel SELECT myid FROM mytable OFFSET 1.7 LIMIT 1; gibt 0 Zeilen zurück, da implizit auf die nächste Ganzzahl gerundet wird.