我有一张桌子的 struct 是这样的:

id product company
1 table A
2 table B
3 table C
4 chair A
5 chair B
6 sofa A
7 sofa C

我需要找到其公司同时包括A和B的所有产品.在上面的示例中,这些将是tablechair.

我设法编写了一个查询,它将返回具有多个公司的产品:

SELECT product FROM table_name
GROUP BY product HAVING COUNT(*) > 1
order by COUNT(*) desc;

但我不能考虑到某些公司,而不仅仅是它们的数量. 如有任何帮助,我将不胜感激!

推荐答案

  SELECT product
    FROM table_name
   WHERE company IN ('A', 'B')
GROUP BY product
  HAVING COUNT(DISTINCT company) = 2
ORDER BY COUNT(*) desc;

Sql相关问答推荐

SQL查询:合并2个表

数据库索引:如何使用名称和类别对项目进行最佳索引?

retrofit AWS Athena中的JSON

MariaDB查询在逗号分隔的字符串中查找多个值

Select 非重复值并按条件排除行

嵌套Json对象的SQL UPDATE WHERE

PATINDEX中与[A-Z]匹配(U除外)的正则表达式

输出连续出现两次以上的行

返回给定日期后的第 4 个工作日(不包括公众假期)

如何将 START 和 END 日期之间的日期差异作为 SQL 中的单独列获取

在 PostgreSQL 中,如何让多个判断约束引用相同的值数组?

如何查询自引用 comments 表以查找带有回复的 comments ,并按最新回复排序?

SQL 语句将一列中的值与另一列中的不同值相加,同时按第三列进行分组?

我们可以使用连接改进包含多个子查询的查询吗

按所选的值将记录分组到不同的列中

如何使用SQL将患者平均分配给他们所在地区的doctor

使用ALTER TABLE无法删除列

Oracle函数中无法动态迭代创建的SYS_REFCURSOR

如何显示最常引用条目的详细信息

获取 SQL Server 中每一行的两个-之间的文本