SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
Förutsatt att correct
är någon sorts int. Annars kan du behöva ändra DESC
till ASC
.
Du kan "blanda" de 5 resultaten med ytterligare en ORDER BY RAND()
så här:
SELECT * FROM (
SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
) as t
ORDER BY RAND()