结果集中的随机行

时间:2013-06-25 13:05:44

标签: php mysql

我想知道是否可以从搜索结果中检索一个随机行。我的意思是我有这样的查询:

SELECT mp.name,mp.icon,mp.id,mp.wspx,mp.wspy,ms.icon FROM maps_points as mp JOIN maps_section as ms ON(ms.id = mp.section)

我想从此查询生成的结果中获取一个随机行。这是可能的一个mysql查询或我应该只是获得所有结果并在PHP中随机获得这个?

3 个答案:

答案 0 :(得分:2)

一种简单的方法是将ORDER BY RAND() LIMIT 1添加到查询中。请看一下为什么这可能是一个坏主意的一些原因,例如,

答案 1 :(得分:0)

 SELECT mp.name,mp.icon,mp.id,mp.wspx,mp.wspy,ms.icon 
 FROM maps_points as mp 
 JOIN maps_section as ms ON(ms.id = mp.section) 
 ORDER BY RAND() LIMIT 1

答案 2 :(得分:-1)

好的,我知道这个,但有更好更快的方法吗?我的意思是我已经看到了其他一些方法,但它们都是关于表中的随机行,我需要从一些结果中选择随机行:)