Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
есть таблица t. у каждой строки есть поле freq которое характеризиет как часто строка должна выбираться есть поле cnt которое хранит количество раз которое данная строка выбиралась нужно случайным образо выбирать одну/несколько строк в соответсвии с полем freq в идеале cnt/(select sum(cnt) from t) должно совпадать с freq/(select sum(freq) from t) для каждой строки подскажите пожалуйста как можно сделать такое ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 15:29 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
PsMесть таблица t. у каждой строки есть поле freq которое характеризиет как часто строка должна выбираться есть поле cnt которое хранит количество раз которое данная строка выбиралась нужно случайным образо выбирать одну/несколько строк в соответсвии с полем freq в идеале cnt/(select sum(cnt) from t) должно совпадать с freq/(select sum(freq) from t) для каждой строки подскажите пожалуйста как можно сделать такое ... Ну что-то по типу: Код: plaintext 1. 2. 3. 4. если freq - от 0 до 1 то это может быть простое ">" (ну или "<"). Естественно это можно оформить в хранимку, а то и вообще в руль для удобства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2007, 18:41 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
дайте ТОЧНУЮ формулировку задачи PsMнужно случайным образо выбирать одну/несколько строкзадача: "выбрать три строки", то есть вернуть надо ровно три строки? или задача "выбрать сколько-нибудь строк - одну/несколько/ни_одной - сколько получиться"? (решение Andrey Daeron) выборка заданного кол-ва строк больше одной - при этом одну и ту же строку можно вернуть в нескольких экземплярах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 11:41 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
LeXa NalBatдайте ТОЧНУЮ формулировку задачи PsMнужно случайным образо выбирать одну/несколько строкзадача: "выбрать три строки", то есть вернуть надо ровно три строки? или задача "выбрать сколько-нибудь строк - одну/несколько/ни_одной - сколько получиться"? (решение Andrey Daeron) выборка заданного кол-ва строк больше одной - при этом одну и ту же строку можно вернуть в нескольких экземплярах? нужно выбирать заданное количество строк, без нескольких экземляров одной и тойже строки если несколько строк вернуть проблематично, тогда хотябы одну ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 16:00 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
PsMнужно выбирать заданное количество строк, без нескольких экземляров одной и тойже строкине получится. допустим в таблице всего две строки A и B с freq_A=1 и freq_B=2. приходят только запросы "выбрать случайным образом две строки". тогда каждый раз будут выдаваться эти две строки, то есть получится cnt_A=cnt_B. условие задачи "в идеале cnt/(select sum(cnt) from t) должно совпадать с freq/(select sum(freq) from t) для каждой строки" не выполняется. PsMесли несколько строк вернуть проблематично, тогда хотябы однуимхо, проблематичнее :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 16:28 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
PsM нужно выбирать заданное количество строк, без нескольких экземляров одной и тойже строки если несколько строк вернуть проблематично, тогда хотябы одну Может укажете более полно предметную область? В такой формулировке LeXa NalBat совершенно правильно привел контр-пример. Т.е. постановка противоречива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2007, 18:15 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
LeXa NalBat PsMнужно выбирать заданное количество строк, без нескольких экземляров одной и тойже строкине получится. допустим в таблице всего две строки A и B с freq_A=1 и freq_B=2. приходят только запросы "выбрать случайным образом две строки". тогда каждый раз будут выдаваться эти две строки, то есть получится cnt_A=cnt_B. условие задачи "в идеале cnt/(select sum(cnt) from t) должно совпадать с freq/(select sum(freq) from t) для каждой строки" не выполняется. Осмыслил... да Вы правы. Дубликаты, не только допустимы, но в случае необходимости должны выходить ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2007, 11:08 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
PsMесть таблица t. у каждой строки есть поле freq которое характеризиет как часто строка должна выбираться есть поле cnt которое хранит количество раз которое данная строка выбиралась нужно случайным образо выбирать одну/несколько строк в соответсвии с полем freq в идеале cnt/(select sum(cnt) from t) должно совпадать с freq/(select sum(freq) from t) для каждой строкиесли я правильно помню теорвер, то практически всегда "на практике" существует отклонение выпадений случайной величины от матожидания (того, что "в идеале"), и пропорционально оно корню из числа выборок. Если вы считаете таковое отклонение недопустимым - и тогда задача решаема, но величина перестает быть "случайной" (последующие выборки берутся зависимыми от предыдущих). Т.е. вопрос еще и в том, что вы считаете эквивалентом формулировки "в идеале" - "случайная, с матожиданием ткаким-то" или что-то иное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2007, 12:15 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
добавить поле int_freq = sum(freq) where id>id Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2007, 12:46 |
|
||
|
случайный выбор строк
|
|||
|---|---|---|---|
|
#18+
LeXa NalBat Код: plaintext 1. 2. Только нужно Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2007, 11:35 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34850421&tid=2004933]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 365ms |

| 0 / 0 |
