MySQL @Wiki 実用リファレンス

RAND

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可
HOME > 関数 > 数値関数 > RAND


RAND

RAND()

RAND(N)
0 〜 1.0 の範囲のランダムな浮動小数点数を返す。 整数の引数 N が指定された場合、その整数がシード値(繰り返し可能な数列を生成)として使用される。

mysql> [[SELECT]] RAND();
        -> 0.9233482386203
mysql> SELECT RAND(20);
        -> 0.15888261251047
mysql> SELECT RAND(20);
        -> 0.15888261251047
mysql> SELECT RAND();
        -> 0.63553050033332
mysql> SELECT RAND();
        -> 0.70100469486881

ORDER BY 節ではカラムが複数回評価されるため、RAND() の値を含むカラムは、ORDER BY 節では使用できない。 しかし、バージョン 3.23 以降では、SELECT * FROM table_name ORDER BY RAND() を使用できる。
これは、SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000 のセットからランダムなサンプルを得るのに役立つ。
注意: WHERE 節の RAND() は、WHERE が実行されるたびに再評価される。
RAND() は完全な乱数ジェネレータではなく、むしろ同じ MySQL バージョンのプラットフォーム間で移植可能な乱数を随時、すばやく生成するための方法として利用できる。




記事メニュー
ウィキ募集バナー