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

它应该为每一行创建一个新号码。文档在这里: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 回答
0

rnd()函数是“round”的缩写,它只是四舍五入,在这种情况下,什么都没有。

于 2013-01-04T21:46:50.273 回答