сортировка данных БД, определение позиции записи

webanet

Новичок
В продолжение темы... Может быть, кто-то поможет оригинальной идеей. Заморочился над логикей как организовать позиции анкет в поиске.

Хочу реализовать следующее:
- Возможность выводить любую анкеты на первое место
- Влияние рейтинга на позицию анкеты в поиске.
(Рейтинг считается отдельно исходя из кол-во уникальных просмотров, активности и различных других тонкостей)

Пока только вижу интересную мысль это запускать Job/Cron скрипт/запрос с интервалом раз в 30-60 минут, который будет всем пользователям прибавлять, допустим, +1 к текущему значению его позиции и потом просто делать выборку на убывания.

1. Возможность выводить анкету на первое место это обнуление этого значения.
2. С рейтингом пока в голове крутиться идея, вычитать какой-то процента из значения позиции и обнулять рейтинг. Таким образом, у кого хороший рейтинг буде чаще на первых местах. Есть еще гениальные идеи?
 

Anarki

Новичок
- Возможность выводить любую анкеты на первое место
Таблица top с полем id_ankety, хранит id анкеты которую показывать первой в списке
- Влияние рейтинга на позицию анкеты в поиске.
Сделать рейтинг в бОльших числах, чем есть, чтобы увеличить "точность" позиции, чтобы меньше анкет было с одинаковым рейтингом и они соревновались за какое-то место, выше которого уже и рейтинг выше.
[SQL]
ORDER BY rating DESC
[/SQL]
 

webanet

Новичок
Anarki
что-то бредовое... или ты не выразил четко свои мысли.

ORDER BY rating DESC самой собой, я бы хотел услышать интересные алгоритмы.

Mr_Max
Спасибо!
 

zerkms

TDD infected
Команда форума
я бы хотел услышать интересные алгоритмы.
откуда посторонние люди вообще могут знать что тебе нужно? или у тебя нет ТЗ, в котором вполне конкретно указаны механизмы ранжирования?
 
Сверху