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()