0

我正在尝试编写一个用于制作流行度算法的 sql 函数。

我想用帖子的“post_id”按“评论”中的评论数量对“帖子”进行排序,用帖子的“post_id”添加到“投票”表中的投票数量,全部排序按“帖子”表中的“日期”(时间戳)。

我不确定如何进行这种多表排序,所以我正在寻求一些指导!

在此先感谢,威尔。

4

2 回答 2

0

我决定只根据“投票”计数。

SELECT posts.id, posts.date, COUNT(votes.id) AS votePerPost FROM posts,votes WHERE posts.id = votes.post_id GROUP BY posts.id ORDER BY posts.date DESC, votePerPost ASC

因为这是一个足够接近的例子。我正在寻找的东西。

于 2010-12-20T10:31:46.903 回答
0

我没有测试过,但它可能有效:

SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_id`

此外,您可以将其与帖子表一起加入:

SELECT * FROM `posts` LEFT JOIN (SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_id`) AS `p` ON(`post_id`)
于 2010-12-20T01:42:11.053 回答