我有sql,有4个值- ID,文本,喜欢,时间。我有php页面显示来自sql的帖子。我想先展示一下“热门”帖子。
让我们说,“热门”帖子是由公式-喜欢/时间。
做这件事最有效的方法是什么?
我是否应该在SQL中创建另一列并得分,并且每隔几分钟更新一次?或者,每次用户进入网站时,他都会检查过去24小时所有帖子的分数?
发布于 2016-03-08 00:46:12
我想你可以这样点菜。
Select id, text, likes, time, likes/time as score from youtable
order by score
如果你的时间是一个日期,并且你需要和actula日期不同,你可以这样做。
Select id, text, likes, time, likes/(curdate() - time) as score from youtable
order by score
发布于 2016-03-08 00:52:17
SELECT id, count(*) as score FROM <yourtable> GROUP BY id ORDER BY score DESC LIMIT 0,10
这假设id是post的主键,并且您需要前10位的活动键。
https://stackoverflow.com/questions/35862532
复制相似问题