|
|
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
Господа, возник вопрос, как сделать выбор случайной записи из Access'овской таблицы. Поля: ID | TXT | Prefix Необходимо заполучить рандомную запись с определенным префиксом Различных префиксов - 52, записей в базе - порядка 30000 Подскажите плз наиболее оптимальный вариант... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2003, 14:15 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
а если взять число rnd и умножить на общее кол-во записей в таблице. получишь случайный номер записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2003, 14:17 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
Не... тут такой вариант с префиксом не покатит. Но можно и по другому попробовать... Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2003, 14:53 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
SELECT TOP 1 message FROM smsCitates WHERE (CitPrefix="AF") ORDER BY Rnd(ID); в общем в итоге вот такой запрос получился НО! Когда его в Access'е его юзаешь, все нормально работает, а когда из asp-шки исполняешь запрос, то выдает ошибку: "Too few parameters. Expected 1." Подскажите, в чем проблема.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 11:01 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
Попробуй ШВ взять в квадратные скобки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. mahoune ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 11:07 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
Неа, ничего не помагает.. У меня с самого начала так и было со всеми скобочками и т.п. Такое впечатление, что оно просто не понимает, что такое rnd() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 11:16 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
А из ASP к какой базе подключаешься? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 11:31 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
ну Access'овская база... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 11:48 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
Короче говоря, все заработало.. Оказывается, все дело в кавычках: вот такой код в ASP отказывается работать: SELECT TOP 1 smsCitates.Message FROM smsCitates WHERE (((smsCitates.CitPrefix)="TXT")) а вот такой работает: SELECT TOP 1 smsCitates.Message FROM smsCitates WHERE (((smsCitates.CitPrefix)='TXT')) ORDER BY Rnd(ID); nолько проблемка еще одна возникла - он постоянно выдает одну и ту же запись при вызове из скрипта, хотя в Access'е опять же все работает исправно и каждый раз вываливается новая запись.. У меня такие подозрения, что нужно какой-то рандомайз SQLевсий запускать, только вот как это делается??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 12:46 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
Так происходит если не указывать RND(ID)? а писать просто RND! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2003, 16:37 |
|
||
|
выбор случайной записи из таблицы
|
|||
|---|---|---|---|
|
#18+
Вот готовый пример кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2003, 11:58 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32254727&tid=1679579]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 428ms |

| 0 / 0 |
