6

次のようなテーブルがあるとします。

| 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 の場合:
uid 1,2,3 の共通の group_id は 1,2,3 です: 共通の group_id は 1 と 2 です。

4

1 に答える 1

4

group_IDそれぞれがすべてに対して一意であると仮定するとuid、(それ以外の場合はを使用する必要がありますdistinct

SELECT group_ID
FROM tableName
WHERE uid IN (1,2,3)
GROUP BY group_ID
HAVING COUNT(*) = 3
于 2012-12-22T14:21:32.403 に答える