我正在尝试编写一个用于制作流行度算法的 sql 函数。
我想用帖子的“post_id”按“评论”中的评论数量对“帖子”进行排序,用帖子的“post_id”添加到“投票”表中的投票数量,全部排序按“帖子”表中的“日期”(时间戳)。
我不确定如何进行这种多表排序,所以我正在寻求一些指导!
在此先感谢,威尔。
我正在尝试编写一个用于制作流行度算法的 sql 函数。
我想用帖子的“post_id”按“评论”中的评论数量对“帖子”进行排序,用帖子的“post_id”添加到“投票”表中的投票数量,全部排序按“帖子”表中的“日期”(时间戳)。
我不确定如何进行这种多表排序,所以我正在寻求一些指导!
在此先感谢,威尔。
我决定只根据“投票”计数。
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
因为这是一个足够接近的例子。我正在寻找的东西。
我没有测试过,但它可能有效:
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`)