php - 如何根据点击量、喜欢、不喜欢和时间创建流行度参数

标签 php mysql

我有一个数据库,里面有很多随着时间的推移创建的文章。现在我希望我的脚本根据点击、喜欢、不喜欢和时间来修改数据库中的“流行度”字段。

你会怎么做?当然,文章越旧,相关性就越小。但是,如果这篇文章已经发布了两周,但获得了很多点击和点赞,我还是希望它能出现。

有什么想法吗?

最佳答案

考虑到您已经拥有所有数据,我将按如下方式计算受欢迎程度(以伪代码):

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/

相关文章:

php - 如何让 MonoLog 的 ErrorHandler 输出到 stdout?

php - 将 MySQL 数据导入到单个 Bootstrap 模态框中?

php - 使用 mysql 从订单表中获取每个用户的最后 5 个订单

mysql - 查询给出 #1305 - FUNCTION 数据库名称。LEN 不存在;为什么?

php - 在 while 循环中从每篇文章的评论和图片表中选择

PHP - 通过 url id 识别用户

php - 如何在单列 MySQL 查询中设置所有值

php - 使表单 URL 提交看起来像路由而不是查询字符串

php - 我无法将数据插入数据库

php - drupal 7 模块不会向 Mysql 插入任何内容