我正在尝试构建一个具有线程和帖子的系统。我正在尝试获取最受欢迎的线程(用户可以单击“喜欢”按钮使其更受欢迎)并且帖子最多。问题是按大多数帖子排序结果..然后按喜欢的帖子排序。
例如,如果我有一个帖子有 300 个帖子和 200 个赞……而另一个帖子有 300 个赞和 201 个赞……我希望选择第二个帖子……
简而言之,表结构:
topic:
--------
topic_id
liked
comment:
-------
comment_id
topic_id
到目前为止,这是我的存储过程:
dbo.Trends
AS
SELECT TOP 1 title, COUNT(com.topic_id), COUNT(topc.user_id_liked)
FROM comment AS com
INNER JOIN topic AS topc ON com.topic_id=topc.topic_id
GROUP BY com.topic_id, topc.user_id_liked,title
ORDER BY COUNT(com.topic_id), COUNT(topc.user_id_liked) DESC
我不确定我是否正确,或者我是否必须控制流逻辑。我将主题表中的 topic_id 放在 order 语句中的 topic like 列之前。希望 topic_id 的选择/排序优先。
更新:查询已更新。