我正在尝试创建一个过滤器来显示某些被视为“趋势”的记录。因此,我们的想法是选择投票次数最多的记录,但不按投票次数从最多到最少的降序排列。这样用户就可以浏览并有机会看到所有链接,而不仅仅是顶部的链接。你推荐什么是最好的方法?我不知道如何创建随机分类的趋势链接,但是当用户从一个页面转到另一个页面时不让它们重复。有什么建议么?如果有任何不清楚的地方,请告诉我,谢谢!
最佳答案
此响应假设您在子表中逐行跟踪每次投票的投票情况,而不是仅对特定项目的计数器 +1。
确定您关注热门话题的时间范围。也许1小时会好?
然后运行查询以确定哪个项目在过去一小时内获得的票数最高。按此计数排序,您将拥有一个不断更新的最受好评的项目列表。
SELECT items.name, item_votes.item_count FROM items
INNER JOIN
(
SELECT item_id, COUNT(item_id) AS item_count
FROM item_votes
WHERE date >= dateAdd(hh, -1, getDate()) AND
## only count upvotes, not downvotes
item_vote > 0
group by item_id
) AS item_votes ON item_votes.item_id = items.item_id
ORDER BY item_votes.item_count DESC
关于php - 如何在 Mysql 和 PHP 中创建 'rising' 或 'What' 的热查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10376067/