如何使用LIMIT从MYSQL中选择包含一个值为1的元素的数据
我有一张表格,上面有一些试题的答案列表。每次测试只有一个答案是正确的。如何选择从mysql与限制,如3答案与一个正确的。答案是随机的如何使用LIMIT从MYSQL中选择包含一个值为1的元素的数据,mysql,sql,Mysql,Sql,我有一张表格,上面有一些试题的答案列表。每次测试只有一个答案是正确的。如何选择从mysql与限制,如3答案与一个正确的。答案是随机的 SELECT answer FROM answers WHERE correct='true' ORDER BY RAND() LIMIT 3 使用UNION ALL和子查询将有助于获得预期结果 以下查询将对您的情况有所帮助: SELECT Answer FROM ( SELECT * FROM ( SELECT Answer, 1 AS
SELECT answer FROM answers WHERE correct='true' ORDER BY RAND() LIMIT 3
使用
UNION ALL
和子查询将有助于获得预期结果
以下查询将对您的情况有所帮助:
SELECT Answer FROM (
SELECT * FROM (
SELECT Answer, 1 AS ManualOrder FROM Answers WHERE Correct = 'true' AND QId = 1
UNION ALL
SELECT Answer, RAND() FROM Answers WHERE Correct != 'true' AND QId = 1
) AS Q
ORDER BY ManualOrder DESC LIMIT 3
) W ORDER BY RAND()
请找到
在我的演示中,
Answer 04
是问题id1
的正确答案,在结果集中,Answer 04
总是以随机顺序与其他两个答案一起返回。您可以运行两个单独的查询。类似于这样的操作:从回答中选择答案,其中correct='true'&&idquestion='1';从IDQUOTE='1'按兰德顺序()限制的答案中选择答案3@Prokul将返回正确答案作为第一个选项,其余两个选项按随机顺序返回。这不是确切的答案,但可能在某种程度上有所帮助。@Arulkumar thx,非常接近,但我需要随机回答正确的Too,除了你说答案04是正确的答案外,我们如何通过返回的内容来判断?列正确
是否也应返回?好极了@阿鲁库玛,就是这样!工作很好。谢谢;)