Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 随机选择10行_Php_Mysql_Random_Sql Order By - Fatal编程技术网

Php 随机选择10行

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

我正在做一个小测验游戏,我想随机选择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个理论问题或 诺姆阿桑托 这是我现在的查询,它运行良好:

  (
    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行左右重复