我有一个MS访问数据库。 在这里,一个表格由包含主要问题ID的问题和答案组成。 我需要使用questionID从该表中检索随机问题。 我应该在这种情况下使用什么关键字或查询。如何从MS Access数据库获得随机记录
回答
下面将获得一个随机questionID从表中
MySQL的
SELECT questionID FROM questions ORDER BY RAND() LIMIT 1
的MS Access
SELECT top 1 questionID from questions ORDER BY rnd(questionID)
得到不同的随机记录,你可以使用,这将需要一个ID字段在你的餐桌上
SELECT TOP 1 questionID FROM questions ORDER BY Rnd(-(100000*questionID)*Time())
作为参数传递给Rnd函数的负值将使用此参数作为起始值传递来自生成器的第一个随机值。 (一种定义的随机)。 特别感谢@kobik的评论提示。
有趣的事情。我测试了所有建议的答案,包括我得到不同/随机记录。但只要我再次运行我的测试程序,结果与以前一样。就好像随机种子生成器每次在ms访问中重置一样。我后来发现这个: [Random Number Generator Query Not So Random](http://database.ittoolbox.com/groups/technical-functional/access-l/random-number-generator-query-not-so-random- 3887838) – kobik 2013-10-21 11:41:11
它做同样的事情bummi,每次我运行它我得到相同的4个结果 – 2013-10-21 11:59:13
所以如何建议修复@Kobik – 2013-10-21 12:00:43
SELECT TOP 5 questionID FROM [tableName] ORDER BY rnd(INT(NOW*questionID)-NOW*questionID)
这会给你一套新的答案的每一次,你甚至都不需要弥补的时候,你用“NOW”(这每次都会是一个新的时间,你点击这个不管点击速度有多快),在我看来,这是Access中最简单,最简单的方法。
这个对我来说完全没问题。所有其他方法提供相同的记录集。好工作。 – MatVAD 2017-11-01 06:19:12
- 1. 查询获得来自MS Access数据库记录的计数
- 2. 最快的方式从数据库中获得随机记录
- 3. 如何从oracle数据库中随机获取记录?
- 4. 如何从数据库中获取随机记录
- 5. 如何从SQLite数据库中获取随机记录?
- 6. 如何从我的nedb数据库获得一条随机记录
- 7. 从MS Access数据库(VB.NET)
- 8. 从MS Access数据库
- 9. 如何从MySQL数据库中选择一条随机记录?
- 10. 如何从数据库中显示随机10条记录?
- 11. 从组数据库获取随机记录
- 12. 从SQLite数据库中获取10条随机记录
- 13. 随机6位数字(无重复)MS Access 2010数据库?
- 14. 如何获得Ms Access表的最后一条记录
- 15. 从在线MySQL数据库导入到MS Access数据库的记录
- 16. 如何从我的数据库中获得一个随机rowId?
- 17. 如何从视图模型中获得随机记录
- 18. 从ms-access到ms-word获取数据
- 19. MS Access数据库
- 20. ms access 2003中加入的随机记录
- 21. 如何从MS Access数据库获取表名?
- 22. 如何从MS Access获取数据库列表?
- 23. 在C#中获取随机mongo数据库记录
- 24. Android如何获得随机sqlite数据?
- 25. 根据时间随机选择从数据库中记录
- 26. 如何获得随机数
- 27. ms access 2010年无法获得数据
- 28. 使用VB.Net将记录添加到MS Access数据库
- 29. 使用MS Access 2007插入多个记录到数据库
- 30. 通过C#向MS Access数据库添加记录
MS Access的版本似乎确实会产生随机记录 - 但每次都是相同的! – kneidels 2013-08-05 13:33:42
AGREE ..同样的随机记录 – 2013-10-21 11:15:37