MYSQL随机选择数据
最近在做一个在线考试系统,遇到需要随机选择20道选择题的需求.
<Excerpt in index | 首页摘要>
<The rest of contents | 余下全文>
使用ORDER BY RAND()选择随机记录
MySQL没有内置语句来从数据库表中选择随机记录。为了实现这个目的,可使用RAND
函数。 以下查询是从数据库表中选择N个随机记录:
1 | SELECT |
RAND()
函数为表中的每一行生成一个随机值。- ORDER BY子句按照
RAND()
函数生成的随机数对表中的所有行进行排序。
这种技术非常适合小表。如果在大的表上执行速度是非常缓慢的,因为MySQL必须排序整个表,以挑选随机的行数据。查询的速度还取决于表中的行数。表具有的行越多,MySQL都要为每行生成随机数,所以所需的时间就越多。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 caicai-blog!