1

テーブル内のすべてのレコードを選択し、ランダムな順序で表示する方法を見つけようとしています。

RAND()私はこのクエリのように多くのことを聞いた

$sql = mysql_query("SELECT * FROM table ORDER BY RAND()");

しかし、私の知る限り、これは20のようなランダムな数のレコードを選択するだけです。

すべてのレコードを選択し、ランダムな順序で表示するにはどうすればよいでしょうか。

ありがとう

4

4 に答える 4

1

すべてのエントリを選択し、ランダムな表示をphpに任せたほうがよいでしょう。全体として多くのリソースORDER BY RAND()が必要です。この操作では、実際にテーブルの各行を再クエリし、乱数IDを割り当てて、結果を配信します。ORDER BY RAND()

$sql = mysql_query("SELECT * FROM table ORDER BY RAND() LIMIT 1");

しかし、私の知る限り、これは20のようなランダムな数のレコードを選択するだけです。

間違った例:これにより、すべてのレコードが選択され、「ランダムに」再配置されて最初の行が表示されます:LIMIT 1、そのままにします。

$sql = mysql_query("SELECT * FROM table ORDER BY RAND()");
于 2012-09-16T16:32:34.520 に答える
1

私はあなたの質問についてあまり明確ではありませんが、次のクエリを実行するだけで、すべてのレコードをランダムな順序で取得できます。

SELECT * FROM table ORDER BY RAND()

上記のクエリは、テーブルの各行にランダムな値を生成し、これらのランダムな値に従ってそのテーブルを並べ替え、並べ替えられた行に従って戻ります。したがって、ランダムな順序ですべてのレコードが作成されます。

于 2012-09-16T16:32:38.943 に答える
0

それはこれだけです:

SELECT * FROM table ORDER BY RAND()

ドロップするLIMIT 1ことで、すべてのレコードをランダムに並べ替えることができます...

于 2012-09-16T16:24:34.627 に答える
0

結果を配列に入れて、それだけshuffle()にします。

そして、機能を取り除くとmysql_*、女の子はもうそれらを好きではありません。

于 2012-09-16T16:25:02.810 に答える