2011-12-15 57 views
1

我有list_id一個簡單的關係表和member_id選擇的記錄被重複兩次使用MYSQL

+---------+--------+ 
|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,但它查詢不是一個循環,所以我沒有得到每一個計數。

回答

6
select list_id 
from yourtable 
group by list_id 
having count(*) = 2 
+0

沒關係,它的另一種解決方案比我預期的,所以你能告訴我如何使香港專業教育學院提取的各行的操作從嵌套的查詢中,取代for循環邏輯 – 2011-12-15 03:43:45

3

您需要一個aggregate function,在這種情況下,count

SELECT list_id 
FROM mytable 
GROUP BY list_id 
HAVING count(member_id) = 2