计算 A 类和 B 类中的项目 (MySQL)
Posted
技术标签:
【中文标题】计算 A 类和 B 类中的项目 (MySQL)【英文标题】:Count items in category A & B (MySQL) 【发布时间】:2013-02-27 15:12:15 【问题描述】:我正在尝试更改某些内容以使其对我有用。我认为对于了解 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)。
希望有人可以提供帮助。谢谢!
【问题讨论】:
【参考方案1】:这个问题有时被称为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
SQLFiddle Demo
SQL of Relational Division
【讨论】:
以上是关于计算 A 类和 B 类中的项目 (MySQL)的主要内容,如果未能解决你的问题,请参考以下文章
Java语言中,下面关于类的描述正确的是()。(选择一项) 解释一下超类和子类。