我正在开发一个测验网站,并且我有一个存储所有问题的数据库。测验有不同类型,例如数学,科学,历史等。所有问题都存储在一个表中。
我的问题表如下所示:
questions ( qno(int) ,type(int), question, .... ,... ) qno是主键,type用于跟踪测验类型。
if type = 1 (math) type = 2(science) 现在,我想为每种测试选择一些随机问题。例如,我可能只想为数学测试选择一些随机的20个问题。
MySQL有某种方式选择随机行吗?
您可以rand在MySQL中使用该函数对行进行排序,然后将排在前10位(或您想要的很多)limit。
select * from table order by rand() limit 10 如果只需要数学问题:
select * from table where type = 1 order by rand() limit 10来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。