我有一个实际值表,我试图将其稍微倾斜以作为演示表。
表格布局有效:
|id|purchased|shipped|delivered|
我正在尝试将右边的 3 列乘以 85-115%,这样数据仍然可以合理地表示原始表格,而不会泄露实际值。
我会用 excel
=purchased*(randbetween(85,115)/100)对于每一列,但我正在尝试对 SQL 执行相同的操作,以便每一行都乘以范围内的不同随机数。
我是 sql 的新手,我试图避免导出整个表、随机化 Excel 中的值并重新导入表。
最佳答案
使用 rand()
算术:
select purchased * (0.85 + rand()*0.30)
from . . .
这满足了问题的要求,增加或减少了大约 15%。 Excel 中的代码将值乘以大约 100。
编辑:
更新语句类似于:
update table t
set purchased = purchased * (0.85 + rand()*0.30)
最后一点:这与 Excel 版本的工作方式不同。一个原因是它使用连续值而不是整数值。
关于mysql - 在sql中将列乘以randbetween,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083242/