Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql Selecione algumas linhas aleatórias e mais uma linha específica

SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5

Supondo correct é algum tipo de int. Caso contrário, pode ser necessário alterar DESC para ASC .

Você pode 'embaralhar' os 5 resultados usando mais um ORDER BY RAND() assim:
SELECT * FROM (
    SELECT *
    FROM `choises`
    WHERE questionid = :qid
    ORDER BY correct DESC, RAND()
    LIMIT 5
) as t
ORDER BY RAND()