2012-12-22 36 views
5

Giả sử tôi có một bảng như thế này:SQL Nhận giá trị chung bằng cách nhóm hàng

| uid | group_id | 
----------------- 
| 1 |  1 | 
| 1 |  2 | 
| 1 |  3 | 
| 1 |  4 | 
| 2 |  1 | 
| 2 |  2 | 
| 2 |  3 | 
| 3 |  1 | 
| 3 |  2 | 
| 3 |  4 | 
... 

Làm thế nào tôi có thể nhận được các thiết lập chung của group_ids đối với một số bộ uids.

Ví dụ:
cho uid 1,2: Các group_ids phổ biến là 1,2,3
cho uid 1,2,3: Các group_ids phổ biến là 1 và 2

Trả lời

3

Giả sử mỗi group_ID là duy nhất cho mỗi uid, (khác bạn cần phải sử dụng distinct)

SELECT group_ID 
FROM tableName 
WHERE uid IN (1,2,3) 
GROUP BY group_ID 
HAVING COUNT(*) = 3 
Các vấn đề liên quan