我有以下表格:
posts
post_id | user_id | text
1 | 12 | blabla
2 | 64 | sususus
和
comments
comment_id | post_id | user_id | text
1 | 1 | 55 | I like this...
2 | 2 | 66 | Yeah, me also!
...
现在帖子和评论通过post_id id连接。如何获得少于18条评论的所有帖子?
答案 0 :(得分:0)
SELECT p.*
FROM posts p
LEFT JOIN (
SELECT post_id, COUNT(*) AS total
FROM comments
GROUP BY post_id
) p2
ON p.post_id = p2.post_id
WHERE p2.total < 18 OR p2.total IS NULL
在这里,您使用子查询来获取所有post_id
以及每篇帖子的评论数量。然后,使用LEFT JOIN
将其连接到posts表格,这样您的结果就会包含没有评论的帖子。