2012-12-22 12 views
5

Załóżmy, że mam tabeli jak poniżej:SQL Get wspólnych wartości poprzez grupowanie wierszy

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

Jak mogę uzyskać wspólny zestaw group_ids jakiegoś zestawu uids.

Dla np.
do uid 1,2: wspólne group_ids są 1,2,3
do uid 1,2,3: wspólne group_ids to 1 i 2

Odpowiedz

3

group_ID założeniu, że każdy jest unikalny dla każdego uid (inaczej trzeba użyć distinct)

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