|
|
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
Мне нужно, чтобы каждый раз при выполнении запроса из 4000 записей выбирались 40 новых (хаотично). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:22 |
|
||
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
> ... выбирались 40 новых (хаотично) Нет, такого сделать точно нельзя! ;-))))))))))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:31 |
|
||
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
Если это ADP,то Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:34 |
|
||
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
То Julius: Просто, но это не будет "хаотичный" набор записей. ;-)))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:38 |
|
||
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
А что есть хаос?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:39 |
|
||
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
Мне надо сделать выборку случайных записей из таблице под Access-ом. А тот SQL запрос который был предложен, делает выборку первых 40 записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:53 |
|
||
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
добавь в свой запрос поле, в которое запиши newsorting: Rnd([любое числовое поле запроса]) и по нему сортируй - каждый раз новая выборка учти: использование в качестве агрумента константы ничего не даст (значения будут равны) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 16:06 |
|
||
|
Как сделть вопрос случаной выборки записей из таб. ?
|
|||
|---|---|---|---|
|
#18+
Если быстродействие не важнО, то в 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] (каковое могабыть не сплошным, иначе можно было б обойтись передачей минимума и максимума) - т.е. читать таблицу. Т.ч. на вскидку не видно, как поюзать индекс в Аксес в вашей задачке, не считав табличку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 16:29 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32455127&tid=1675807]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 463ms |

| 0 / 0 |
