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