Возможно ли в MySQL заказать что-то по популярности с отметкой времени и количеством посещений? - PullRequest
1 голос
/ 19 сентября 2009

У меня есть только две переменные: age (метка времени unix) и hit. Мне интересно, есть ли в MySQL решение для расчета и упорядочения по популярности чего-либо. Алгоритм должен был бы признать, что у новых предметов не обязательно будет столько же хитов, сколько у старых, но они более популярны.

Возможно ли это так, как я себе это представляю?

1 Ответ

2 голосов
/ 19 сентября 2009

Вам нужно придумать свой собственный метод взвешивания хитов и возраста при расчете популярности. Вы можете выбрать эту функцию как популярную, а затем заказать по ней. В следующем простом примере упорядочены ежедневные коэффициенты попадания на странице.

SELECT table.*, (table.hits / TIMESTAMPDIFF(DAY, NOW(), FROM_UNIXTIME(table.created))) AS popularity
FROM table
...
ORDER BY popularity DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...