SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
मान लें कि correct किसी प्रकार का इंट है। अन्यथा आपको DESC बदलने की आवश्यकता हो सकती है करने के लिए ASC ।
आप एक और ORDER BY RAND() . का उपयोग करके 5 परिणामों को 'फेरबदल' कर सकते हैं इस तरह:
SELECT * FROM (
SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
) as t
ORDER BY RAND()