mysql - 查找与同一列中的多个值匹配的不同元素

标签 mysql sql

假设这是我正在谈论的表格

id      pId     fId
1       1       1
2       2       1
3       2       2
4       3       2

我需要获取与 fId 列表中所有给定索引匹配的 pId 列表。

我的意思是->

考虑 fId 列表:

(1,2)

那么结果应该是

2

因为只有 pId 2 与 fId 列表中的所有给定条目匹配(即 1 和 2)。

到目前为止我找不到任何方法来做到这一点 - 非常感谢任何帮助:-)

最佳答案

聚合 pid 列并使用 having 子句。

select pid
from tablename
group by pid
having sum(case when fid in (1,2) then 1 else 0 end) >= 2

关于mysql - 查找与同一列中的多个值匹配的不同元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36696884/

相关文章:

mysql - 将排名结果与自身进行比较,如果相等则附加 '='

sql - 如何获取包含所有 dba 软件包描述的列表

SQL Server : calculate monthly total sales incl empty months

mysql - 如何作为mysql代理执行分布式事务

mysql - 选择列 where 子句或如果没有条件则选择所有列

mysql - Kubernetes - NodeJs MySQL pod 无法与 MySQL pod 连接

MySQL如何填充范围内缺失的日期?

javascript - 将 API 请求中的 JSON 数据插入 MySQL 数据库

php - htaccess 适用于第一条规则,但不适用于第二条规则

c# - SqlKata 事务