|
|
|
Вероятностный вывод товаров по приоритетам
|
|||
|---|---|---|---|
|
#18+
Всем здоровья!) Есть товары с приоритетами, структура таблицы такая: авторid | product_id | priority __|__________|_______ 1 | 354 | 12 2 | 457 | 9 3 | 789 | 9 4 | 690 | 1 5 | 101 | 1 6 | 120 | 1 Причем товары более приоритетные не в 100% случаев будут идти в списке первыми. Т.е. товар 354 с приоритетом 12 , должен преимущественно выходит в списке первым, но изредка (например в 1 из 6 случаев) должен пропускать вперед товары с более низким приоритетом 9 и т.д. Помогите придумать sql запрос чтобы получать список с вероятностной сортировкой. Я попробовал сделать сортировку на основе вычисляемого приоритета. Т.е. приоритет товара делится на секунды из текущего времени и округляю то целого. Не делю только приоритеты равные 1, чтобы не плодить вычисляемые приоритеты равные 0 . авторSELECT DISTINCT *, CAST( if(pp.priority > 1, pp.priority / MOD(SECOND(NOW()) ,10), 1) as INT) as mod_priority FROM products_priority pp ORDER BY mod_priority DESC, RAND() LIMIT 20 В итоге товар с наибольшим приоритетом все равно первый. Как лучше реализовать в sql>? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2020, 14:32 |
|
||
|
Вероятностный вывод товаров по приоритетам
|
|||
|---|---|---|---|
|
#18+
cu2netzov4n Помогите придумать sql запрос чтобы получать список с вероятностной сортировкой. Круто Код: sql 1. Более мягко Код: sql 1. Ещё мягче Код: sql 1. (а также LOG2 и LOG10). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2020, 14:45 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39937400&tid=1828707]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 391ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...