SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
Giả sử correct
là một số loại int. Nếu không, bạn có thể cần thay đổi DESC
thành ASC
.
Bạn có thể 'xáo trộn' 5 kết quả bằng cách sử dụng thêm một ORDER BY RAND()
như thế này:
SELECT * FROM (
SELECT *
FROM `choises`
WHERE questionid = :qid
ORDER BY correct DESC, RAND()
LIMIT 5
) as t
ORDER BY RAND()