SELECT *
FROM X
WHERE flags = 0
ORDER BY rand()
LIMIT 1
Detta hämtar 1 slumpmässig rad. Byt ut 1 mot N för att få N slumpmässiga rader.
Varning:Som andra påpekade kan detta vara långsamt eftersom det behöver en fullbordsskanning. Jag brukade göra detta med DB2, där detta fungerade perfekt för tabeller med hundratusentals rader, men enligt länken i tereškos svar , MySQL verkar försämras mycket snabbare.