Выбор записи из БД SQL с максимальным id, при условии что значения не должны дублировать и могут находиться в 2 разных столбцах

Помогите разобраться Есть таблица private_chat. В таблице есть столбцы: id, user_from, user_to.

Таблица представляет собой урезанную версию участников чата(отправитель, получатель).

**Суть задачи** - выбрать строки с максимальным *id* каждой пары,
 если user_from = user_to && user_to = user_from

**Имеем следующий набор данных**: 
 


 id user_from   user_to
1   misha   vasya
2   misha   vasya
3   misha   vasya
4   misha   vasya
5   vasya   misha
6   misha   user_cat

Далее я делаю запрос:

SELECT
  t.*,
  `users`.user_icon,
  `private_setting`.status,
  `private_setting`.status_check
FROM private_chat t
  INNER JOIN (SELECT
      `private_chat`.user_from,
      `private_chat`.user_to,
      `users`.user_login,
      MAX(`private_chat`.id) AS id
    FROM private_chat,
         users
    WHERE `private_chat`.user_from = 'misha' OR `private_chat`.user_to = 'misha'
    GROUP BY `private_chat`.user_from,
             `private_chat`.user_to) q
    ON q.user_from = t.user_from
    
    AND q.id = t.id
  INNER JOIN users
    ON t.user_from = `users`.user_login
  INNER JOIN `private_setting`
    ON t.user_from = `private_setting`.user

и получаю вот такой результат:

id  user_from   user_to
4   misha   vasya
5   vasya   misha
6   misha   user_cat

А хочу получить вот такой

id  user_from   user_to
5   vasya   misha
6   misha   user_cat

Ответы (0 шт):