SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
Vorausgesetzt correct ist eine Art int. Andernfalls müssen Sie möglicherweise DESC ändern zu ASC .
Sie können die 5 Ergebnisse mit einem weiteren ORDER BY RAND() „mischen“. so:
SELECT * FROM (
SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
) as t
ORDER BY RAND()