プロが教える店舗&オフィスのセキュリティ対策術

「おみくじ」みたいなものを作っています。

MYSQLにautoincrementでデータを蓄積しています。
PHPから1データだけランダムに取り出そうと以下の構文で抽出しています。

select * from data order by Rand() LIMIT 0,1;

データ数はかなり貯まっているのですが、同じようなデータばかり抽出しているような気がしています。
これは気のせいでしょうか?

また、データをしょっちゅう削除していたので、番号が飛び飛びになっています。
1.2.3.5.8.9.10.のような感じです。
このように歯抜けの状態でもRand()はちゃんと存在するデータからランダムに選んでいるのでしょうか?

A 回答 (1件)

>これは気のせいでしょうか?



気のせいでは?
Limitをはずして結果をみてみれば自明ですね

select * from data order by Rand();

もしくはサンプリングして統計をとってみてください
    • good
    • 0
この回答へのお礼

Limitをはずしてみて確認しました。
どうもありがとうございました。

お礼日時:2007/12/25 13:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す