在SQL数据库中选择随机行

时间:2010-05-27 03:12:31

标签: php sql mysql select random

我想在我的数据库中选择一个随机行。我在网站上看到了这个解决方案:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

此SQL查询运行但有人说我这是一个性能不高的查询。还有其他解决方案吗?

THX

2 个答案:

答案 0 :(得分:3)

是的。您必须使用

计算行数
SELECT COUNT(*) FROM `table`;

在此之后使用php函数mt_rand()获取从1到$ count的随机数并通过查询获取它:

SELECT `column` FROM `table` LIMIT $rand, 1

答案 1 :(得分:0)

this question中,有关此主题的更多讨论,包括性能影响和不同DBMS的策略。