<分区>
我有一张包含数千条新闻文章记录的表格。在该网站上,有一个新闻列表页面,其中包含一个选项,可以通过无限滚动按受欢迎程度对文章进行排序。该表看起来像这样:
id | title | description | views | createdAt
决定受欢迎程度的关键列是浏览量和创建时间。
我可以实现什么算法/公式来按受欢迎程度对文章进行排序?
目前,我只是按浏览量降序排列,但这样列表几乎不会更新并始终显示相同的文章。
<分区>
我有一张包含数千条新闻文章记录的表格。在该网站上,有一个新闻列表页面,其中包含一个选项,可以通过无限滚动按受欢迎程度对文章进行排序。该表看起来像这样:
id | title | description | views | createdAt
决定受欢迎程度的关键列是浏览量和创建时间。
我可以实现什么算法/公式来按受欢迎程度对文章进行排序?
目前,我只是按浏览量降序排列,但这样列表几乎不会更新并始终显示相同的文章。
最佳答案
一种方法是根据文章的年龄“惩罚”文章。例如,自文章发表后的每一天,将分数降低 100(或与您网站的流量相匹配的其他任意数字)。这样旧的文章就会慢慢被推出,新的文章才有机会被浏览:
SELECT *
FROM articles
ORDER BY views - 100 * DATEDIFF(CURRENT_DATE, createdAt) DESC
关于php - 如何按受欢迎程度对文章进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40501287/