我想知道是否有一种方法可以选择100到500之间随机生成的数字以及选择查询。使用MYSQL创建一个随机数
如:SELECT name, address, random_number FROM users
我没有这个号码存储在数据库,并只用它来显示的目的。
我试了这样的事情,但它不能去工作..
SELECT name, address, FLOOR(RAND() * 500) AS random_number FROM users
希望有人帮助我。 谢谢
我想知道是否有一种方法可以选择100到500之间随机生成的数字以及选择查询。使用MYSQL创建一个随机数
如:SELECT name, address, random_number FROM users
我没有这个号码存储在数据库,并只用它来显示的目的。
我试了这样的事情,但它不能去工作..
SELECT name, address, FLOOR(RAND() * 500) AS random_number FROM users
希望有人帮助我。 谢谢
这应该给你想要的东西:
FLOOR(RAND() * 401) + 100
一般地,FLOOR(RAND() * (<max> - <min> + 1)) + <min>
产生了一些<min
之间>和<max>
包容性。
更新
该声明全文应该工作:
SELECT name, address, FLOOR(RAND() * 401) + 100 AS `random_number`
FROM users
你可以创建一个使用FLOOR(RAND() * n) as randnum
一个随机数(n为整数),但是如果你不需要相同的随机数重复,那么你将不得不稍微存储在临时表中。所以,你可以检查它反对与where randnum not in (select * from temptable)
...
作为RAND
产生数0 < = V < 1.0(见documentation),你需要使用ROUND
,以确保您可以(在这种情况下500)获得上限和(在这种情况下100)下界
所以产生你所需要的范围:
SELECT name, address, ROUND(100.0 + 400.0 * RAND()) AS random_number
FROM users
附加到这个答案,创造像
CREATE FUNCTION myrandom(
pmin INTEGER,
pmax INTEGER
)
RETURNS INTEGER(11)
DETERMINISTIC
NO SQL
SQL SECURITY DEFINER
BEGIN
RETURN floor(pmin+RAND()*(pmax-pmin));
END;
的功能,并呼吁像
SELECT myrandom(100,300);
这给你的随机数,请参阅这个100和300
之间链接 http:// stackove rflow.com/questions/1045138/how-do-i-generate-random-number-for-each-row-in-a-tsql-select – DevelopmentIsMyPassion 2013-02-10 14:23:11