MySql:选择类别为id = 2和3的所有帖子

Mir*_*lev 3 mysql sql categories posts

我有以下数据库,有2列:

posts id    category id
1           2
2           1
1           3
3           3
3           2
4           5
Run Code Online (Sandbox Code Playgroud)

我需要一个查询,当提取类别2和3中的所有帖子ID时,这意味着:id为1和3的帖子.

jue*_*n d 5

选择类别2和3中的所有帖子ID:

SELECT posts_id
FROM posts
WHERE categoryId IN (2, 3)
GROUP BY posts_id
HAVING COUNT(distinct categoryId) = 2;
Run Code Online (Sandbox Code Playgroud)

仅选择仅category_id = 5与任何其他人相关联的帖子ID :

SELECT posts_id
FROM posts
GROUP BY posts_id
HAVING SUM(categoryId <> 5) = 0;
Run Code Online (Sandbox Code Playgroud)