データベースから、ランダムにデータを取得するにはどうすればいいのだろうか?
Googleで検索したら、一発でヒットした。
MySQL random の検索結果 約 7,990,000 件
MySQLでランダムにデータをとりだす。を高速化する。
MySQLでランダムにデータを「10件」取り出すには
SELECT * FROM table ORDER BY rand() limit 0 10;
とします。
まるっと解決!(・∀・)
MySQL 5.1 リファレンスマニュアル :: 11.4.2 数学関数
RAND()
0 <= v < 1.0 の範囲にあるランダムな浮動小数点値 v を戻します。
mysql> SELECT * FROM tbl_name ORDER BY RAND();
LIMIT と結合された ORDER BY RAND() は、行のセットからランダムなサンプルを選ぶ場合に便利です
MySQL の order by rand()
ただ、この rand() はデータ量が大きいテーブルには使いづらいという罠。
遅いのが欠点ですか?
まあいいや、後で代替案を考えよう。
=オススメ商品リストを作っておくとか。
![]() | MySQL逆引きクイックリファレンス―MySQL 4.0/4.1/5.0対応 (2006/12) 山田 祥寛 商品詳細を見る |