PHP SQL выбирает, где в массиве идентификаторов и имеет одинаковое значение столбца переменной

Поэтому у меня есть таблица типа, как показано ниже.

+----+----------+---------+ | ID | group_id | user_id | +----+----------+---------+ | 1 | 10 | 9 | | 2 | 20 | 8 | | 3 | 10 | 7 | | 4 | 10 | 6 | | 5 | 20 | 5 | +----+----------+---------+ 

У меня есть массив идентификаторов пользователей [9,7,6] и я хотел бы получить идентификатор группы, где все идентификаторы находятся в одной группе?

Мой текущий запрос:

SELECT group_id FROM group_user WHERE user_id IN (9,7,6) GROUP BY group_id

Говорю, что я не слишком разбираюсь в SQL-запросах.

благодаря


РЕДАКТИРОВАТЬ

Я открыл новый вопрос с более подробной информацией и своей целью.

SQL, проверьте, существует ли диалог между группами


Вы можете использовать условную агрегацию, чтобы найти group_id, у которых есть требуемые user_id, связанные с ними.

 SELECT group_id FROM group_user group by group_id having sum(case when user_id IN (9,7,6) then 1 else 0 end) = 3 

Ваш запрос должен быть:

 SELECT DISTINCT(group_id) FROM group_user WHERE user_id IN (9,7,6) 
 SELECT group_id FROM group_user WHERE user_id IN (9,7,6) GROUP BY group_id HAVING count(DISTINCT user_id) = 3 AND count(DISTINCT group_id) = 1 

что все 3 идентификатора находятся в одной группе group_id и что они не находятся в какой-либо другой группе.

http://sqlfiddle.com/#!9/540f96/2