Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделть вопрос случаной выборки записей из таб. ? / 9 сообщений из 9, страница 1 из 1
24.03.2004, 15:22
    #32455099
Stval
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
Мне нужно, чтобы каждый раз при выполнении запроса из 4000 записей выбирались 40 новых (хаотично).
...
Рейтинг: 0 / 0
24.03.2004, 15:31
    #32455115
TRoUbLEs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
> ... выбирались 40 новых (хаотично)
Нет, такого сделать точно нельзя! ;-)))))))))))))))))
...
Рейтинг: 0 / 0
24.03.2004, 15:34
    #32455127
Julius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
Если это ADP,то

Код: plaintext
SELECT TOP  40  * FROM Table ORDER BY newid()
...
Рейтинг: 0 / 0
24.03.2004, 15:38
    #32455137
TRoUbLEs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
То Julius:
Просто, но это не будет "хаотичный" набор записей. ;-))))))))))
...
Рейтинг: 0 / 0
24.03.2004, 15:39
    #32455143
Julius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
А что есть хаос?..
...
Рейтинг: 0 / 0
24.03.2004, 15:53
    #32455188
Stval
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
Мне надо сделать выборку случайных записей из таблице под Access-ом.
А тот SQL запрос который был предложен, делает выборку первых 40 записей.
...
Рейтинг: 0 / 0
24.03.2004, 16:06
    #32455224
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
добавь в свой запрос поле, в которое запиши

newsorting: Rnd([любое числовое поле запроса])

и по нему сортируй - каждый раз новая выборка

учти: использование в качестве агрумента константы ничего не даст (значения будут равны)
...
Рейтинг: 0 / 0
24.03.2004, 16:29
    #32455287
Как сделть вопрос случаной выборки записей из таб. ?
Если быстродействие не важнО, то в mdb наподобие предложенного:

SELECT TOP test.*
FROM test
ORDER BY Rnd(1+Abs([id]));


будет читать _всю_ таблицу, строить Rnd(1+Abs(id)), потом это _все_ сортировать, а потом выбирать из отсортированного.

(2 Алексус12 - просто Rnd(поле) не слишком верно, но можно Rnd(1+([id]-[id])) :)


__
Если записей много, то надо бы как-то попытаться воспользоваться индексом. Надо подумать.
для одной записи это было-бы наподобие
SELECT TOP 1 test.*
FROM test
WHERE id>=MyRndI([id])
ORDER BY id;
вернее надо бы использовать не WHERE а OFFSET (или как его там, в общем такого в диалекте АксSQL нету), а то все равно в MyRndI() придется возвращать инфу о плотности [id] (каковое могабыть не сплошным, иначе можно было б обойтись передачей минимума и максимума) - т.е. читать таблицу. Т.ч. на вскидку не видно, как поюзать индекс в Аксес в вашей задачке, не считав табличку.
...
Рейтинг: 0 / 0
25.03.2004, 15:32
    #32457116
Stval
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделть вопрос случаной выборки записей из таб. ?
Благодарю за помощь
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделть вопрос случаной выборки записей из таб. ? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]