2016-08-06 59 views
1

如何选择4 截然不同随机来自MS Access表问题的字段答案的值?MS Access选择不同的随机值

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(NOW ID)-now ID)) 冲突与DISTINCT。

编辑: 试过这样:

SELECT TOP 4 * 
FROM (SELECT answer, Rnd(MIN(ID)) AS rnd_id FROM question GROUP BY answer) AS A 
ORDER BY rnd_id; 

似乎SOFAR工作..

回答

1

我建议:

SELECT TOP 4 answer 
FROM question 
GROUP BY answer 
ORDER BY Rnd(MIN(ID)); 

我不认为查询是必要的。并且包括SELECT上的随机值似乎并不有用。

0

我2年前creted一个简单的测验应用程序,这是我使用从我的表

SELECT TOP 4 * FROM问题ORDER获得一个随机的问题BY NEWID()

+0

'查询NEWID()'在Access SQL中不受支持。 – HansUp