mysql - 在sql中将列乘以randbetween

标签 mysql sql excel random

我有一个实际值表,我试图将其稍微倾斜以作为演示表。

表格布局有效:

|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/

相关文章:

php - 当用户注册到社交网络网站时设置默认头像图像

java 桌面应用程序未从可执行 jar 文件运行

excel - 为什么Excel VBA中的 'Application.Calculation=[value]'语句会删除剪贴板内存?

java - MySql 连接被拒绝 - Java

sql - 数据库无法识别创建的函数? SQL状态: 42883

mysql - 我如何分析和改进这个具有许多结果和临时表的复杂聚合/左连接查询的配置?

SQL其中,从今天开始的日期加减天

python - 在数据框中查找重复的组

vba - 当在一个单元格中输入数据(字母)时,用数字预填充某个单元格

PHP - 在 MySQL 查询中跳过显示重复字段(不是记录)