通过复制记录选择多于记录计数

时间:2015-01-15 20:55:51

标签: mysql sql

问题:问题表有100条记录。动态创建的测试需要110个问题。可以复制问题。

仅供参考:仅使用MySQL选择问题ID。

我知道我可以使用编程语言轻松实现这一目标,但我的要求需要SQL解决方案。

修改

随机选择的记录。

重复次数应保持在最低限度。那就是:在需要复制重复之前 - 不要。当测试需要超过两倍的可用问题时,我只能看到需要复制重复项。

修改

并非所有测试都需要的不仅仅是可用的问题。但是,在编译测试之前,这是不可知的。

逻辑: select ID from questions ....限制$ dynamicNumberOfQuestions

查询应该针对需要50个问题(少于可用问题数量)以及110个问题(超过可用问题数量)以及300个问题的测试(超过可用问题数量的两倍)。如果可能的话。

1 个答案:

答案 0 :(得分:4)

如果是MYSQL那么这应该得到你想要的

SELECT * FROM questiontable
UNION ALL
SELECT * FROM questiontable ORDER BY RAND() LIMIT 10