使用随机值更新列

dcp*_*ers 5 mysql sql random sql-update

我有一张桌子:

ID | VALUE | DATE
1  | 5     | 2012-10-01 
2  | 7     | 2012-10-02
3  | 3     | 2012-10-05
4  | 0     | 2012-05-07 
Run Code Online (Sandbox Code Playgroud)

我想在VALUE随机单独 BETWEEN 1和5之间添加当前值的顶部.

让我们说:

ID | VALUE | RANDOM VALUE
1  | 5     | 0
2  | 7     | 2
3  | 3     | 3
4  | 0     | 6 
Run Code Online (Sandbox Code Playgroud)

新价值

ID | VALUE 
1  | 5     
2  | 9     
3  | 6     
4  | 6      
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?我能想到的只是做游标类型的查询.

有帮助吗?

ppe*_*rka 6

尝试

UPDATE TABLE SET VALUE=VALUE+ROUND(1+RAND()*4);
Run Code Online (Sandbox Code Playgroud)


PyQ*_*yQL 5

这将通过1到5之间的随机值更新值

UPDATE TABLEA SET VALUE=FLOOR(RAND()*5)+1
Run Code Online (Sandbox Code Playgroud)

  • 实际上......需要随机更新每个记录而不是用1个随机值更新所有记录 (2认同)