mySQLでランダムにデータを抜き出す

ORDER BY RAND()

これでランダムにソートすることができる。ランダムにソートしたデータを一番上から取り出せばランダムに抜き出したことになる。
ただ、データの件数が多いと処理に時間がかかるので

ORDER BY RAND() LIMIT 0,10

こうやって、ソートする件数を制限するとよい。上の例では10件ソートしている。

たとえば、10件のランダムに選んだデータを抜き出して並べたい場合であれば、

$sql = "SELECT eng,jap,level FROM word ORDER BY RAND() LIMIT 0,10";
$result = mysql_query($sql);
if (!$result)die('INSERTクエリーが失敗しました。'.mysql_error());

for($i = 0;$i < 10;$i++) {
$ro = mysql_fetch_assoc($result);
print_r($ro);
}

これで、ソートしたデータを作っておいて、mysql_fetch_assocをforで回して取り出せばよい。