get unique records from mysql

Viewed 72

enter image description here

Please check this query. Actually, I want to fetch only two records, not 4 records. I should get last record per from_member_id and to_member_id. Currently, I get two records for it. Please let me know what I am doing wrong in the query

Query:

SELECT DISTINCT from_member_id, to_member_id
  FROM `single_chat`
 where from_member_id = 175 or to_member_id = 175
 group by from_member_id, to_member_id

Desired output

175 176
175 177
1 Answers

You can try the below - DEMO

SELECT distinct
   t2.from_member_id,t2.to_member_id
FROM single_chat t1
     JOIN single_chat t2 on t1.from_member_id=t2.to_member_id 
     and t1.to_member_id < t2.to_member_id 
where t1.from_member_id = 175 or t1.to_member_id = 175

OUTPUT:

f_id    t_id
175     176
175     177
Related