нужно что бы посты из бд отображались только пользователям определенной группы.
Перевернись, не с той стороны смотришь. Наоборот, юзеру должны отображаться посты только его групп.
Решается элементарно.
На текущей структуре это будет
FROM post
JOIN user ON user_id = {текущий пользователь} AND FIND_IN_SET(post.group_id, user.group_ids_csv)
Однако функция в связи - это прощай индексы и здравствуй фуллскан.
ID username group
1 admin 1,2,3
Дурацкая схема хранения.
Если есть связь M:N, то должна быть связующая таблица
(user_id, group_id).