我想知道是否可以从搜索结果中检索一个随机行。我的意思是我有这样的查询:
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 中随机获得这个结果?
一个简单的方法是添加ORDER BY RAND() LIMIT 1
到查询中。一定要看看为什么这可能是一个坏主意的一些原因,例如
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
好的,我知道这个,但是有更好更快的方法吗?我的意思是我见过其他一些方法,但它们都是关于表中的随机行,我需要从一组结果中选择随机行:)