2012-12-22 41 views
5

假设我有一个表像这样获得共同的价值观:SQL通过分组行

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

我怎样才能得到一组共用的group_ids一些一套uids

例如,
为UID 1,2:常见的group_ids是1,2,3
为UID 1,2,3:常见的group_ids是1和2

回答

3

假设每个group_ID是独特每uid,(否则你需要使用distinct

SELECT group_ID 
FROM tableName 
WHERE uid IN (1,2,3) 
GROUP BY group_ID 
HAVING COUNT(*) = 3