Que diriez-vous de ceci :
SELECT *
FROM users
ORDER BY RAND()
HAVING RAND() * 1000 < 10
La clause WHERE RAND() * 1000 < 10
choisit au hasard d'inclure chaque ligne avec une probabilité de 1 %. Ce n'est pas tout à fait une LIMIT variable
clause mais fera à peu près la même chose.