Ниже мой стол:
Я хочу получить результаты на основе значений sender
и Reciver
и сгруппировать их таким образом, чтобы у меня не было избыточных результатов.
Пример:
отправитель = 2
reciver = 1
reciver = 2
Отправитель = 1
В приведенном выше примере оба результата не должны отображаться, должен отображаться только один результат.
Я использую mysql, и код, который я использую, приведен ниже, что дает несколько результатов, как показано на рисунке.
SELECT Mid,sender,Reciver
FROM 'tbl_messages'
WHERE sender=1 or Reciver = 1
GROUP by Reciver,sender or sender,Reciver;
Попробуй это:
SELECT newSender, newReceiver/*some aggregate functions or access other comlumns*/ FROM (
SELECT Mid,/* add more columns if needed*/
case when sender < reciver then sender else receiver end newSender,
case when sender > reciver then sender else receiver end newReceiver
FROM 'tbl_messages'
WHERE sender = 1 or Reciver = 1
) a GROUP by newSender, newReceiver;