MS Access 选择不同的随机值
Posted
技术标签:
【中文标题】MS Access 选择不同的随机值【英文标题】:MS Access select distinct random values 【发布时间】:2016-08-06 05:47:49 【问题描述】:如何从 MS Access 表问题的字段答案中选择 4 个 distinct random 值?
SELECT TOP 4 answer,ID FROM question GROUP BY answer ORDER BY rnd(INT(NOW*ID)-NOW*ID)
给出错误信息:
运行时错误“3122”:您的查询不包括指定的 表达式“ID”作为聚合函数的一部分。
SELECT DISTINCT TOP 4 answer,ID FROM question ORDER BY rnd(INT(NOW*ID)-NOW*ID)
给出错误信息:
运行时错误“3093”:ORDER BY 子句 (rnd(INT(NOWID)-NOWID)) 与 DISTINCT 冲突。
编辑: 试过这个:
SELECT TOP 4 *
FROM (SELECT answer, Rnd(MIN(ID)) AS rnd_id FROM question GROUP BY answer) AS A
ORDER BY rnd_id;
到目前为止似乎有效..
【问题讨论】:
【参考方案1】:我建议:
SELECT TOP 4 answer
FROM question
GROUP BY answer
ORDER BY Rnd(MIN(ID));
我不认为子查询是必要的。并且在SELECT
上包含随机值似乎没有用。
【讨论】:
【参考方案2】:我在 2 年前创建了一个简单的测验应用程序,这是我用来从表格中获取随机问题的查询。
SELECT TOP 4 * FROM Questions ORDER BY NEWID()
【讨论】:
NEWID()
在 Access SQL 中不受支持。以上是关于MS Access 选择不同的随机值的主要内容,如果未能解决你的问题,请参考以下文章
需要帮助返回 ms-access 测试库的随机顺序多项选择答案
如何在不同的列中选择第一个、第二个和第三个值 - Ms Access