ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MySQLでランダムにデータを取得する方法

商品販売サイトで、トップページに表示する商品をランダムに切り替えたい。
データベースから、ランダムにデータを取得するにはどうすればいいのだろうか?

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対応MySQL逆引きクイックリファレンス―MySQL 4.0/4.1/5.0対応
(2006/12)
山田 祥寛

商品詳細を見る

スポンサーサイト

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。