Как выбрать 700 случайных записей из таблицы доступа? - PullRequest
0 голосов
/ 05 ноября 2011

Этот код дает мне последние 700 записей, а не 700 случайных записей.

private string strsqlcommandBeta = " select top 700  LEFT(patronvalue17, INSTR(30, patronvalue17, ' ') -1) as patronvalue1,   Rnd([objectid]) AS Ran    from objectaer    " +
" order by objectdate desc" +
"  ";

Ответы [ 2 ]

3 голосов
/ 05 ноября 2011

Я не рядом с MS Access, но попробуй:

SELECT * FROM (
    SELECT top 700 LEFT(patronvalue17, INSTR(30, patronvalue17, ' ') -1) as patronvalue1, objectdate
    FROM objectaer
    ORDER BY Rnd([objectid]) ()
) order by objectdate desc

Rnd ([objectid]) должен дать вам случайное число для сортировки, затем вы сортируете то, что хотите после этого.

0 голосов
/ 05 ноября 2011
SELECT * FROM (
    SELECT top 700 LEFT(patronvalue17, INSTR(30, patronvalue17, ' ') -1) as patronvalue1, objectdate
    FROM objectaer
    ORDER BY newid()
) order by objectdate desc

Функция newid() генерирует случайную направляющую, которую можно использовать для сортировки таблицы, давая разные результаты при каждом запуске. Я не знаю, действительно ли вам нужен внешний выбор, он используется для сортировки случайных элементов по убыванию даты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...