MySQL @Wiki 実用リファレンス
RAND
最終更新:
Bot(ページ名リンク)
-
view
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 バージョンのプラットフォーム間で移植可能な乱数を随時、すばやく生成するための方法として利用できる。
これは、SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000 のセットからランダムなサンプルを得るのに役立つ。
注意: WHERE 節の RAND() は、WHERE が実行されるたびに再評価される。
RAND() は完全な乱数ジェネレータではなく、むしろ同じ MySQL バージョンのプラットフォーム間で移植可能な乱数を随時、すばやく生成するための方法として利用できる。