MySQL选择所有行匹配where close的所有不同ID

时间:2015-02-17 21:00:34

标签: mysql join

我的数据表结构(我会尽可能简单):

ID      col1    col2
1       1       1
1       0       1
1       1       1
2       1       1
2       0       1
3       1       1
3       1       1

我需要将每个ID都包含在给定ID的所有条目中,col1 = 1且col2 = 1.

因此,在这种情况下,只应给出ID 3,因为所有具有col1 = 1的条目也具有col2 = 1.

我尝试了多次连接,尝试使用类似于选择min(col2)的内容,其中col1 = 1在a.ID = b.ID上连接相同的表。

2 个答案:

答案 0 :(得分:3)

select id
from your_table
group by id
having sum(col1 = 0) = 0
and sum(col2 = 0) = 0 

答案 1 :(得分:0)

另一种方式:

SELECT id
FROM table1
GROUP BY id
HAVING SUM(col1) = COUNT(id)
  AND SUM(col2) = COUNT(id)