SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
假设correct
是某种int。否则,您可能需要更改DESC
为ASC
。
您可以使用以下一种方法“混洗”这5种结果ORDER BY RAND()
:
SELECT * FROM (
SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
) as t
ORDER BY RAND()