1-3之间随机数的MySQL更新

mysql random numbers between 匿名 | 2020-02-27 02:23:22


有一个大表,我想添加一个列,每个记录都有一个随机选择的数字。1、2或3。
有困难的时候。有什么想法吗?





3 答案



请尝试以下操作:
UPDATE tableName SET columnName = FLOOR( 1 + RAND( ) *3 );

来自MySQL文档中的
RAND

返回0<=v<1.0范围内的随机浮点值v。
因此在上述查询中,由
1 + RAND()*3
生成的最大值将是
3.999999
,当地板掉下来的时候会给3。当
RAND()
返回0时,将出现最小值,在这种情况下,将给出1。

2020-02-27 02:23:39
匿名


使用RAND()函数。它返回一个在
0 <= v < 1.0
范围内的随机浮点值v。要获得
i <= R < j
范围内的随机整数R,请使用表达式
FLOOR(i + RAND() * (j − i + 1))
。例如,要获取范围
1<= R < 3
内的随机整数,请使用以下语句:
UPDATE tableName
SET ColumnName= FLOOR(1 + rand() * 3);

N.B:RAND()生成从0到1的随机浮点值。

2020-02-27 02:23:54
匿名


这样做
UPDATE tableName SET columnName = FLOOR(RAND( ) + RAND( ));

2020-02-27 02:24:06
匿名


World is powered by solitude
备案号:湘ICP备19012068号