SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
correct
と仮定する ある種のintです。そうしないと、DESC
を変更する必要がある場合があります ASC
へ 。
もう1つのORDER BY RAND()
を使用して、5つの結果を「シャッフル」できます。 このように:
SELECT * FROM (
SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
) as t
ORDER BY RAND()