重複の可能性:
SQLでランダムな行を要求する方法は?
テーブルが大きいため、MySQL関数を使用できず、この方法RAND()の使用を避けようとしています。RAND()
$a = mysql_fetch_array(mysql_query("SELECT MIN(id), MAX(id) FROM table WHERE category_id='".$var."'"));
$id = rand($a[0],$a[1]);
$id2 = rand($a[0],$a[1]);
これは機能しません。理由は次のとおりです。$a私はそれぞれのIDで最大と最小を持っていますcategory_id-それは問題ありません。
$idこの問題は、最小ID値と最大ID値が使用されているため、行にとをもたらし$id2ますが、PHP関数rand()は最小値と最大値の間でランダムな値を取ります。また、選択されたレコードがに属さない可能性が高くなりcategory_idます。
それで、私はあなたに方法について尋ねたいと思います、どうすればこの例を修正できますか?
ありがとうございました