我正在尝试改变一些东西,让它对我有用。我认为我的问题对于了解 SQL 的人来说很容易回答。我有下表(两列):
entry_id | cat_id
5 | 3
6 | 3
7 | 3
7 | 5
7 | 6
8 | 5
9 | 3
9 | 5
现在我想计算 cat_id 3 和 5 中的所有 entry_id(它们必须属于两个类别)。我该怎么做才能得到结果“2”(条目 7 和 9 的总和为 2)。
希望有人能帮忙。谢谢!
最佳答案
这个问题有时被称为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
关于mysql - 计算类别 A 和 B 中的项目 (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15115550/