如何对帖子进行排序以保持最高评分的帖子

时间:2015-08-08 11:26:18

标签: sorting

让我们说我们有一个帖子的网站。 我们可以获得的信息是:

post_time (from site launch)(doesn't change)
post_rating (changes over time)
number_of_comments (changes over time)

什么是一个很好的公式,以便网站在顶部保持新鲜和好的帖子,而不会再次在顶部看到相同的帖子。

我想我应该给#34;权重"到上面的每个字段,在哪里 post_time将具有最重的重量。

例如9gag使用什么样的排序?

post_time之间的差异可能在1秒到分钟/小时之间变化

编辑:

澄清: 我有一个数据库,我保存所有这些信息,我需要的东西 是一个公式,将使帖子页面保持最新,现在登录的用户将在20分钟内看到不同的帖子。

1 个答案:

答案 0 :(得分:-1)

好的,我找到的最简单的方法如下:

  • 将另一个DATE字段添加到名为top_date
  • 的Posts SQL表中
  • 从posts表中选择top_date为NULL
  • 的所有最高评级
  • 使用当前时间戳更新所需帖子的top_date

现在帖子页面将使用top_date的DESC。

也可以有一个每隔几分钟就会被调用的函数 收集没有top_date的最高评级(仅评级)帖子并随机选择 一个要更新。

如果我不清楚,可以在这里或私下留言中提出任何问题。