【发布时间】:2012-02-05 11:11:31
【问题描述】:
我正在使用 PHP 和 MySQL 创建一个简单的 Web 应用程序。在其中,我需要以随机顺序从表中随机选择一小组行。我怎样才能使用 MySQL 实现这样的事情?
【问题讨论】:
-
提问前请先搜索。搜索问题的确切标题会产生 this 和许多其他类似问题。
我正在使用 PHP 和 MySQL 创建一个简单的 Web 应用程序。在其中,我需要以随机顺序从表中随机选择一小组行。我怎样才能使用 MySQL 实现这样的事情?
【问题讨论】:
【讨论】:
SELECT ... WHERE id IN(x)
select count(*) from users; 返回 10293453。查询 SELECT id FROM users ORDER BY RAND() LIMIT 10; 运行 5 秒。
select * from table order by rand() limit 10
请注意,order by rand() 具有大型数据集非常慢,但在您的情况下这不是问题。
【讨论】:
您可以使用 RAND() 函数来做到这一点。
SELECT questine FROM tablename ORDER BY RAND() LIMIT 10
假设 questine 存储在字段 questine 下,将随机选择 10 个 questine
【讨论】: