I have a MS access database. In that, one table consists of questions and answers with primary key questionID. I need to retrieve random question from that table using questionID. What keywords or query should I use for this scenario.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The following will get a random questionID from your table
MySQL
SELECT questionID FROM questions ORDER BY RAND() LIMIT 1
MS Access
SELECT top 1 questionID from questions ORDER BY rnd(questionID)
回答2:
To get different random record you can use, which would require a ID field in your table
SELECT TOP 1 questionID FROM questions ORDER BY Rnd(-(100000*questionID)*Time())
A negative value passed as parameter to the Rnd-function will deliver the first random value from the generator using this parameter as start value. (A kind of defined randomize). Special thanks to @kobik 's hint from the comments.
回答3:
SELECT TOP 5 questionID FROM [tableName] ORDER BY rnd(INT(NOW*questionID)-NOW*questionID)
This will give you a new set of answers every time, you don't even need to make up a time when you use "NOW" (which will every time be a new time you click this no matter how fast you click), in my opinion the most simple and neat way to solve this in Access.