SELECT *
FROM X
WHERE flags = 0
ORDER BY rand()
LIMIT 1
Pobiera 1 losowy wiersz. Zastąp 1 przez N, aby uzyskać N losowych wierszy.
Zastrzeżenie:Jak zauważyli inni, może to być powolne, ponieważ wymaga pełnego skanowania tabeli. Robiłem to z DB2, gdzie działało to idealnie dla tabel z setkami tysięcy wierszy, ale zgodnie z linkiem w odpowiedź Tereško , MySQL wydaje się degradować znacznie szybciej.