Я конечно строю всё на допущении в данный момент. Но я практически уверен, что есть таблица с группами. А если это так то вот такая конструкция решит поставленную задачу. (В примере я таблицу с группами обозначил `groups` )
[SQL]
select g.id as out_g_id, count(g.id) as g_id_c from `groups` g
inner join `group_user` g_u on g.id = g_u.id_g
where g_u.id_u in (select id_u from `group_user` where id_g=1 )
group by g.id HAVING g_id_c >= (select count(id_u) from `group_user` where id_g=1)
[/SQL]
Хотя конечно смысла делать это всё в один запрос я лично не вижу.
Сразу не написал... думаю это очевидно но всё-таки решил добавить.
если таблицы с группами у Вас нет(сложно такое представить, но с вашим заказчиком всего ждать можно

).
[SQL]
select g.id as out_g_id, count(g.id) as g_id_c from (select DISTINCT id_g as id from `group_user`) g
inner join `group_user` g_u on g.id = g_u.id_g......
[/SQL]
ну и дальше как в первом варианте.