我有一个数据库,里面有很多随着时间的推移创建的文章。现在我希望我的脚本根据点击、喜欢、不喜欢和时间来修改数据库中的“流行度”字段。
你会怎么做?当然,文章越旧,相关性就越小。但是,如果这篇文章已经发布了两周,但获得了很多点击和点赞,我还是希望它能出现。
有什么想法吗?
最佳答案
考虑到您已经拥有所有数据,我将按如下方式计算受欢迎程度(以伪代码):
Popularity = (1 / now - time) + likes - dislikes.
所以在 MySQL 查询中它会是这样的:
UPDATE articles SET
popularity = (now() - article.timestamp) + article.likes - article.dislikes;
运行查询并更新数据后,您可以对数据应用排序以获取最受欢迎的文章:
SELECT * FROM articles
ORDER BY popularity DESC.
希望这有帮助。
关于php - 如何根据点击量、喜欢、不喜欢和时间创建流行度参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21233997/