我有一个list_id
和member_id
+---------+--------+
|list_id | Member_id|
+---------+--------+
| 0001 | B002 |
| 0001 | B005 |
| 0002 | B002 |
| 0003 | B003 |
| 0004 | B005 |
| 0004 | B002 |
| 0007 | B002 |
+---------+--------+
我想生成一个查询来选择仅包含2个成员的list_id
(在表格中重复两次)
到目前为止我所得到的:
使用嵌套查询,内部查询选择所有distinct list_ID
,外部查询选择count
,但它是一个查询而不是循环,所以我没有得到每一个的计数。
答案 0 :(得分:6)
select list_id
from yourtable
group by list_id
having count(*) = 2
答案 1 :(得分:3)
在这种情况下,您需要aggregate function count
:
SELECT list_id
FROM mytable
GROUP BY list_id
HAVING count(member_id) = 2