Есть таблица в которой находятся обсуждения. Структура такая:
from_id - от кого
to_id - к кому
p_id - предмет обсуждения
message - сообщения
Это диалоги, т.е. общаются 2 человека. В рамках одного p_id могут быть сообщения от одного from_id к другому to_id и обратно от to_id к from_id.
Например
from_id | to_id | p_id | message
1 | 2 | 5 | привет
2 | 1 | 5 | и тебе привет
Это пример диалога по предмету обсуждения 5. Простая группировка по from_id, to_id и p_id выдает количество диалогов *2, так как учитываются только реплики "в одну сторону". Вопрос - как мне вытащить все p_id и их участников, т.е. получить список диалогов?
Важное уточнение, один и тот же P_id могут обсуждать 1 со 2, 2 с 3 и 1 с 3. и это будет 3 разных диалога