从数据库中选择随机数,下次不会被选中

时间:2010-07-23 10:38:03

标签: mysql

我想从数据库中选择一个随机数字1,当我再次查询说10次我正在查询它应该返回所有不同的随机数。

2 个答案:

答案 0 :(得分:0)

使用ORDER BY RAND()

如果您只想获得一条随机记录,您的查询应如下所示:

SELECT * FROM table ORDER BY RAND() LIMIT 1

答案 1 :(得分:0)

如果您只想要一个随机数,请不要使用数据库,请使用随机数生成器。如果您不想重复,只需跟踪您之前看到的随机数,如果再次选择一个,请将新数字递增1,直到达到您尚未看到的数字。

如果你想要,比如10,从数据库中随机记录,那么使用@ sAc的解决方案,但同时获取它们。这将确保您的选择中没有重复。如果您必须一次选择一个,请使用与随机数相同的技术并跟踪您之前看到的记录。不要使用LIMIT指令,只需选择每次迭代时没有看到的第一条记录。