在MySQL
中,在使用MySQL时,可能需要在某些情况下生成一个指定范围内的随机值。在存在rand()函数时,它无法满足此要求。 This article delves into the best approach for achieving this in MySQL.
Solution:
The optimal method in MySQL to generate a random value within a specified range is:
ROUND((RAND() * (max-min)) min)
RAND()
ROUND((RAND() * (max-min)) min)
max
:所需范围的最大值。- 与php实现进行比较: mysql解决方案的php等同于:
示例查询- addendum:permastion compalison 要进一步说明性能差异,以下php脚本运行: = rand($ r [0],$ r [1]);
}
$ end = microtime(1);
结果表明,如果仅需要随机值,则mySQL对于生成随机值的速度更快,但是如果返回其他列,则较慢。