2016-08-06 5 views
1

Как выбрать 4 Отрасльrandom значения из поля ответ в разделе MS Access table?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) -Теперь ID)) конфликты с DISTINCT.

Edit: Пробовал это:

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 не кажется полезным.

0

Я creted простого приложения викторины 2 года назад, и это вопрос, который я использую, чтобы получить случайный вопрос из моей таблицы

ВЫБРАТЬ TOP 4 * FROM Вопросов ORDER BY NEWID()

+0

' NEWID() 'не поддерживается в Access SQL. – HansUp