所以,我在PHP中使用了随机函数:
$SELECT * FROM add_question WHERE section_id = :section_id AND status = :status ORDER BY RAND() LIMIT {$row_random['total_question']}";
我的数据库表中有一个名为“指令”的列。它不是必填列。 但如果存在,则3至5行(连续3至5行)中存在相同的数据。 所以我需要以这种方式使用随机函数: 如果指令列包含数据,则连续而不是随机地获取包含相同数据的所有行。并且,如果指令列为空,则获取随机行
例如:
ID | INSTRUCTION | QUESTION | OPT1 | OPT2 | OPT 3
1 | | q1 | a | b | c
2 | | q2 | a | b | c
3 | | q3 | a | b | c
4 | | q4 | a | b | c
5 | | q5 | a | b | c
6 | ins | q6 | a | b | c
7 | ins | q7 | a | b | c
8 | ins | q8 | a | b | c
9 | | q5 | a | b | c
10 | | q5 | a | b | c
11 | | q5 | a | b | c
12 | | q5 | a | b | c
13 | | q5 | a | b | c
如果上表中的10行使用了随机函数,则应返回: ids(1,2,3,4,5,9,10,11,12,13) OR ID(1,2,3,4,5,6,7,8,9,10)。 如果返回ID'6',则还应返回ID 7,8,共10行。带有说明的ID应该返回all或NONE。如果全部都返回了,则它们应该是连续的顺序(而不是7、8、6)等等。