Php 随机选择10行
我正在做一个小测验游戏,我想随机选择10个问题,分为4个不同的主题,每个问题分为理论和实践问题 1是否有任何不同的方法来选择随机而不是按随机顺序-这种方法对于 2如何将查询更改为仅使用一个select 这就是我想要选择的 1个理论问题和1个实践问题来自主题“Conceito de Inventarário” 1个理论问题和2个实践问题来自主题“Mensuração de Inventaários no Rechecimento” 1个理论问题和2个实践问题,来自主题“Mensuração de inventários após o reconhecimento” 来自“发明再验证”主题的2个理论问题或 诺姆阿桑托 这是我现在的查询,它运行良好:Php 随机选择10行,php,mysql,random,sql-order-by,Php,Mysql,Random,Sql Order By,我正在做一个小测验游戏,我想随机选择10个问题,分为4个不同的主题,每个问题分为理论和实践问题 1是否有任何不同的方法来选择随机而不是按随机顺序-这种方法对于 2如何将查询更改为仅使用一个select 这就是我想要选择的 1个理论问题和1个实践问题来自主题“Conceito de Inventarário” 1个理论问题和2个实践问题来自主题“Mensuração de Inventaários no Rechecimento” 1个理论问题和2个实践问题,来自主题“Mensuração de
(
SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2, opcao3, opcao4, nome_tema, nome_assunto FROM quizz
INNER JOIN tema ON tema_id = id_tema
INNER JOIN assunto_quizz ON assunto_id = id_assunto
WHERE nome_tema = 'IAS 2 Inventários'
AND nome_assunto = 'Conceito de inventário'
AND abordagem = 'T'
ORDER BY RAND( ) LIMIT 1
)
UNION
(
SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2, opcao3, opcao4, nome_tema, nome_assunto FROM quizz
INNER JOIN tema ON tema_id = id_tema
INNER JOIN assunto_quizz ON assunto_id = id_assunto
WHERE nome_tema = 'IAS 2 Inventários'
AND nome_assunto = 'Conceito de inventário'
AND abordagem = 'P'
ORDER BY RAND( ) LIMIT 1
)
UNION
(
SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2, opcao3, opcao4, nome_tema, nome_assunto FROM quizz
INNER JOIN tema ON tema_id = id_tema
INNER JOIN assunto_quizz ON assunto_id = id_assunto
WHERE nome_tema = 'IAS 2 Inventários'
AND nome_assunto = 'Mensuração de inventários no reconhecimento'
AND abordagem = 'T'
ORDER BY RAND( ) LIMIT 1
)
UNION
(
SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2, opcao3, opcao4, nome_tema, nome_assunto FROM quizz
INNER JOIN tema ON tema_id = id_tema
INNER JOIN assunto_quizz ON assunto_id = id_assunto
WHERE nome_tema = 'IAS 2 Inventários'
AND nome_assunto = 'Mensuração de inventários no reconhecimento'
AND abordagem = 'P'
ORDER BY RAND( ) LIMIT 2
)
UNION
(
SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2, opcao3, opcao4, nome_tema, nome_assunto FROM quizz
INNER JOIN tema ON tema_id = id_tema
INNER JOIN assunto_quizz ON assunto_id = id_assunto
WHERE nome_tema = 'IAS 2 Inventários'
AND nome_assunto = 'Mensuração de inventários após o reconhecimento'
AND abordagem = 'T'
ORDER BY RAND( ) LIMIT 1
)
UNION
(
SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2, opcao3, opcao4, nome_tema, nome_assunto FROM quizz
INNER JOIN tema ON tema_id = id_tema
INNER JOIN assunto_quizz ON assunto_id = id_assunto
WHERE nome_tema = 'IAS 2 Inventários'
AND nome_assunto = 'Mensuração de inventários após o reconhecimento'
AND abordagem = 'P'
ORDER BY RAND( ) LIMIT 2
)
UNION
(
SELECT questao_id, titulo_pergunta, abordagem, opcao1, opcao2, opcao3, opcao4, nome_tema, nome_assunto FROM quizz
INNER JOIN tema ON tema_id = id_tema
INNER JOIN assunto_quizz ON assunto_id = id_assunto
WHERE nome_tema = 'IAS 2 Inventários'
AND nome_assunto = 'Desreconhecimento de inventários' OR nome_assunto = 'Divulgações sobre inventários'
AND abordagem = 'T'
ORDER BY RAND( ) LIMIT 2
)
测验表中有多少行?建议使用union all而不是union来连接结果@Mikpa可能在2500行左右重复