计算 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语言中,下面关于类的描述正确的是()。(选择一项) 解释一下超类和子类。

计算MySQL中的零个数[关闭]

java中API怎么调用啊?

TestLoader类中提供的discover()方法

java有A,B两个类,A类中有一个变量x,这个变量值在A类中改变了值,如何在B类中取得这

java中的各种关系