MySQLでRANDOMな数値を得る方法
presented by 役に立つかもしれないBlog
MySQLでたまにやりたいことの一つに「一定の範囲の数値でランダムな値を作りたい」というのがあります。 データを挿入する場合だったり、SELECTで取り出す際にランダムに取り出すとかね。
結論から言うと、利用する関数は「RANDOM」ではなくて「RAND」を使います。 これで0~1.0までの乱数を作ってくれます。
SELECT RAND();
~から~までの範囲でランダムな整数を生成する
次に実用的なテクニックとして、一定の範囲、たとえば100~150までの間でランダムな整数を生成してみましょう。
四捨五入(ROUND)を利用する
MySQLには四捨五入のROUND関数があるので、これをRAND関数と組み合わせます。 常に100以上ですから100を加算するのは絶対として、変化する幅をRANDと150-10=50で表現します。
SELECT ROUND( RAND() * 50 + 100 );
これで100~150までの乱数が生成できます。 変化させたい幅をRAND関数と掛け合わせるところがポイントですね。
このページに関連のある記事はこちら
- MySQLサーバーでクエリ履歴をログファイルに保存する方法
- MySQLで「ALTER TABLE ... DROP INDEX」すると「Error 150」が出る問題
- タグ機能を実現するための便利なデータベース設計を3つ紹介
- さくらのVPSのPHP+MySQLを最新のものにアップデート。
- JavaScriptでDATETIME型の日付を得る方法
- MySQL(innoDB)でリレーション設定時に「インデックスは設定されていません」エラー
- MySQLのunique属性で大文字や小文字が区別されない問題を解決
- MySQLの「Can't create/write to file '/tmp/#sql****.MYI'」エラーを解決する!
- MySQLで画像を格納時にエラーが発生する3つの要注意ポイント
- MySQLでHAVING指定したら「Unknown column ... in 'having clause'」エラー
![実践ハイパフォーマンスMySQL 第2版 [大型本]](http://ec2.images-amazon.com/images/I/51s%2Bp62hCgL._SL160_.jpg)



コメントフォーム