时间:2021-07-01 10:21:17 帮助过:7人阅读
我的库里面有500条 判断题 和 选择题 。
我想进入答题页面时,系统从数据库读取10条判断题和40条选择题(先把随机读出来的10个判断题放前面,然后接着随机读取40条选择题),要求题不重复。
这个怎么做?我直接写rand() 出现重复内容。
shuffling
有一个简单易理解但效率不高的方法。
从库里面取所有判断题的序号到数组A,select id from table where type = "judgments"
;
之后从数组A中随机取N(N=10)个元素,array_rand($array,10)
;
再用这些元素查题,select * from table where id in
。
方法比较好理解,但是性能,不怎么地……你题库里要是只有500条倒还好。
目前我有个自己的项目,有类似的需求,就是这么做的。
当时网上也搜了不少方法,看到过很多高效率的方法,但是有个缺点就是id必须连续。我这个方法id可以不连续。