selectコマンドを使用してSQLテーブルから値を選択しています。テーブルから10個の値を返します。しかし、私は3つの値をランダムに表示したいと思います。
質問する
128 次
4 に答える
1
select * from your_table
order by rand()
limit 3
于 2012-08-15T08:20:24.740 に答える
0
大きなテーブルではお勧めできません:
select * from mytable order by rand() limit 3
于 2012-08-15T08:21:04.533 に答える
0
簡単に言えば、小さなテーブルに対して次のようにすることができます。
SELECT * FROM yourTable
ORDER BY RAND()
LIMIT 3;
ただし、大きなテーブルがある場合は、結果セットを使用して選択できますfragmentation
....仮に、テーブルに200Kの行が含まれており、100行をランダムに選択するだけでよい場合、結果セットのフラグメントを計算できます.....フラグメント指定されたテーブルの結果セットの数は 0.0005 になり、後で次のように使用できます。
SELECT * FROM yourTable WHERE RAND()<=0.0005
正確に 100 行を取得するには、フラグメントを少し増やして、次のように使用できます。
SELECT * FROM yourTable WHERE RAND()<=0.0006 LIMIT 100;
于 2012-08-15T08:34:02.083 に答える