1
我试图通过评论和喜欢的顺序来显示帖子。 有三个表使用此查询后,评论和像
的表像它列型是守值像或不像。
如何按COUNT与多表的SUM和MINUS订购
SQL
SELECT (SELECT COUNT(id) AS count_comment
FROM comment WHERE comment.post_id = post.post_id),
(SELECT COUNT(id) AS count_like
FROM like WHERE like.post_id = post.post_id AND like.type = 'like'),
(SELECT COUNT(id) AS count_unlike
FROM like WHERE like.post_id = post.post_id AND like.type = 'unlike'),
post.* FROM post
ORDER BY (count_comment + count_like - count_unlike) DESC;
所以,这是一个例子,当它显示在页面上
post_id | comment | like | unlike | (comment+like-unlike)
4 | 5 | 3 | 1 | 7
1 | 2 | 3 | 0 | 5
2 | 1 | 1 | 4 | -2
... | ... | ... | ... | ...
我的问题是我的SQL是很慢的,请建议另一种方式,如果它能。我试图使用JOIN,但我无法弄清楚它的SQL应该如何,请帮助谢谢。