这可能是一个非常基本的问题,已被问过数百次,但我找了一个解决方案,但找不到。
我有一张包含1M记录的表。我想通过为每行生成1 $到5000 $的总随机价格来更新价格列。我就是这样做的:
update `table` set price = FLOOR(1 + RAND() * 5000);
有趣的是,当我从一些特定的WHERE子句中得到AVG(价格)时,我总是得到一个数字= ~5000 / 2。例如,如果price = FLOOR(1 + RAND()* 5000)则AVG(price)= ~2500 $,如果price = FLOOR(1 + RAND()* 2500)则AVG(price)= ~1250 $,以及等等。知道问题出在哪里?感谢。