Why do so many people want to do this?? Basically if you come to using RAND() in a query you are running frequently then your whole architecture is wrong and you should have planned for it from the start. 🆒
ORDER BY RAND() does NOT require a column name Aybabtu. It is also very heavy on the server: first it has to select all the rows that match your conditions, then it has to randomise them ALL, then it applies your LIMIT and returns your results.
A better way to do this is to select @ 1000 in descending order and then do it in php
$sql = mysql_query("SELECT * FROM affiliates ORDER BY referred DESC LIMIT 100");
$result = mysql_query($sql);
$j = rand(1,10) // get random integer between 1 and 10
for ($i = 1; $i <= 10; $i++) {
$row = $mysql_result($result, $j);
// do what you have to with it
$j = $j + rand(1,10); // now increment it for a random series
}
So you would be jumping through the results randomly but hitting the highest referrers most often.
If you have a lot of referers then either adjust the rand scale or reduce it and multiply.