Rand()Query应该产生相同的结果

时间:2014-04-23 05:20:19

标签: mysql

我想用Rand()执行订单查询。当我在Project的其他位置再次执行相同的查询时,此查询生成的结果集应该相同。结果集顺序不会改变..任何人都可以为此提供解决方案..

例如 考虑表tbl

S.No  name

1     Mani

2     Raja

3     raj

现在,如果我执行查询"SELECT * FROM tbl order by RAND()";,它可能会产生如下结果集。

S.No    name

2       Raja

1       Mani

3       raj.

当我在我项目的另一个地方再次运行相同的查询时。我想,它应该返回与上面相同的结果集。当我关闭并重新打开我的应用程序时,结果集应该更改..但仍然关闭Application ..结果集应该与它产生的第一个相同

2 个答案:

答案 0 :(得分:1)

更新:Click for Example

您可以使用RAND(3)生成相同的随机输出。

SELECT * FROM tbl order by RAND(3)

有关RAND()功能的详情,请参阅this

答案 1 :(得分:0)

ORDER BY RAND()操作实际上重新查询表的每一行,分配一个随机数ID,然后传递结果......这样当你再次查询时可能得不到相同的结果集 我建议避免兰德() 参考: http://www.webtrenches.com/post.cfm/avoid-rand-in-mysql