0

テーブルの各行に異なるランダム値を作成したいので、次のことを試しました:

select t.col1, rnd() from t;

しかしrnd()、すべての行に等しい1つのランダム値を作成しました。mysqlだけでn行にn個の異なる値を作成することは可能ですか?

4

3 に答える 3

3

で動作しrand()ます。テーブルのすべての行に新しい乱数を作成します

select col1, rand()
from t

SQL フィドルを参照してください

于 2013-01-04T17:43:41.273 に答える
0

このrnd()関数は「round」の略で、単純に丸めることで、この場合は何もしません。

于 2013-01-04T21:46:50.273 に答える
0

行ごとに新しい番号を作成する必要があります。ドキュメントはこちら: http://dev.mysql.com/doc/refman/5.0/en//mathematical-functions.html#function_rand

それはintか何かとしてキャストされていますか?また、0 から 1 までの数値が必要ない場合は、代わりに次のようにする必要があります。

select t.col1, FLOOR(7 + (RAND() * 5)) from t;
于 2013-01-04T17:44:46.103 に答える