计算A类和B类中的项目(MySQL)

Mar*_*eek 3 mysql sql count relational-division

我试图改变一些东西让它对我有用.我认为我的问题对于了解SQL的人来说非常容易.我有下表(两列):

entry_id | cat_id
5        | 3
6        | 3
7        | 3
7        | 5
7        | 6
8        | 5
9        | 3
9        | 5
Run Code Online (Sandbox Code Playgroud)

现在我想要计算cat_id 3和5中的所有entry_id(它们必须在两个类别中).我怎么做才能得到"2"(条目7和9的总和为2).

希望有人能提供帮助.谢谢!

Joh*_*Woo 5

有时会调用此问题 Relational Division

SELECT  COUNT(*) totalCOunt
FROM
(
    SELECT  entry_id 
    FROM    tableName
    WHERE   cat_id IN (3, 5)
    GROUP   BY entry_id
    HAVING  COUNT(DISTINCT cat_id ) = 2
) s
Run Code Online (Sandbox Code Playgroud)