我正在开发一个测验网站,我有一个存储所有问题的数据库.有不同类型的测验,如数学,科学,历史等.所有问题都存储在一个表中.
我的问题表看起来像这样:
questions ( qno(int) ,type(int), question, .... ,... )
Run Code Online (Sandbox Code Playgroud)
qno
是主键,type
用于跟踪测验类型:
if type = 1 (math)
type = 2(science)
Run Code Online (Sandbox Code Playgroud)
现在,我想为每种类型的测试选择一些随机问题.例如,我可能只想为数学测试选择一些随机的20个问题.
MySQL有某种方法可以选择随机行吗?
Eri*_*ric 29
您可以使用rand
MySQL中的函数对行进行排序,然后使用前10个(或者您想要的多个)limit
.
select * from table order by rand() limit 10
Run Code Online (Sandbox Code Playgroud)
如果你只想要数学问题:
select * from table where type = 1 order by rand() limit 10
Run Code Online (Sandbox Code Playgroud)