【发布时间】:2021-11-10 17:21:35
【问题描述】:
我有一个包含真实数据的 MySQL 表 wallet,我想根据原始数据将这些数据随机化为相似的值。
例如,使用所有行的 RAND 百分比(从 -20% 到 +20%)更新 wallet 表上的 amount 列值。
用 PHP 会:
foreach (Wallet:select('id', 'amount')->get() as $row) {
$row->amount = $row->amount + ($row->amount * (rand(-20, 20) / 100));
$row->save();
}
类似的东西?:
UPDATE `wallet` SET `amount` = `amount` + `amount` * IF(RAND() < 0.5, -1, 1) * FLOOR(1 + RAND() * 20) / 100;
谢谢!
【问题讨论】:
-
而且,问题/问题是?
-
如果 MySQL 查询示例有效。
-
select round(rand()*40-20,2);会得到一个介于 -20 和 +20 之间的随机值