powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вероятностный вывод товаров по приоритетам
3 сообщений из 3, страница 1 из 1
Вероятностный вывод товаров по приоритетам
    #39937400
cu2netzov4n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здоровья!)

Есть товары с приоритетами, структура таблицы такая:
автор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>?
...
Рейтинг: 0 / 0
Вероятностный вывод товаров по приоритетам
    #39937403
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cu2netzov4n
Помогите придумать sql запрос чтобы получать список с вероятностной сортировкой.

Круто
Код: sql
1.
ORDER BY priority * RAND()


Более мягко
Код: sql
1.
ORDER BY SQRT(priority) * RAND()


Ещё мягче
Код: sql
1.
ORDER BY LOG(priority) * RAND()


(а также LOG2 и LOG10).
...
Рейтинг: 0 / 0
Вероятностный вывод товаров по приоритетам
    #39937408
cu2netzov4n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, благодарю !
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вероятностный вывод товаров по приоритетам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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