select * from tiku a where a.type='题目类型' order by rank_over() fetch 10 first rows only;
如果数据库不支持随机排序
那就取出全部试题放入数组或list,然后用Math.random()*记录数 得到随机数,然后取出这个题目。 ------解决方案-------------------- 我做过很多在线考试系统,一般抽题,按照题型,难度,分类抽取
至于抽取题目数量,可以:
select ....(select...ORDER BY DBMS_RANDOM.RANDOM) where rownum<=? ------解决方案-------------------- Sql server:select top n * from 表 order by newid()
Access:Select top n * FROM 表 orDER BY Rnd(id)
mysql:Select * From 表 order By rand() Limit n ------解决方案-------------------- 如果做填空题的话,每个填空题里的空的个数都不同,如果以一个空两分,有10个空,应该怎么抽题来控制10个空呢?(题库里每个题的小空数不一定相同)
这个应该怎么控制呢?