如何编写SQL查询按日期排序主题,然后按喜欢的数量排序?

时间:2015-02-06 03:01:46

标签: php mysql algorithm structure

我想要像9gag或reddit这样的东西。

SELECT * 
FROM topic 
WHERE somecondition 
ORDER BY posted_time DESC, number_of_likes DESC?

我有很多喜欢,收藏的数量和评论数量。我也希望每天不超过30个热门话题的流行度算法,如果当天没有任何主题,那么自动下降到第二天并给我热门话题等等。这怎么可能?

1 个答案:

答案 0 :(得分:0)

您可以在“LIMIT 30”末尾添加您的对帐单,即将结果限制为30,并根据您在查询中的订单为您提供主题。

所以你的查询应该是这样的:

SELECT * 
FROM topic 
WHERE somecondition 
ORDER BY posted_time DESC, number_of_likes DESC LIMIT 30

此外,请注意,如果您的所有主题都与发布时间一起存储,则您不太可能同时拥有多个主题,这意味着这些主题不会生效。如果您想按天订购,然后按喜欢订购,可能会将查询更改为ORDER BY DATE(posted_time)