Reputation: 53
I have table like below
member follower
A B
B C
C D
E A
B A
B E
D E
In this above data A - B, B - A having same relationship.. i need unique row either A - B OR B - A
Output should be like below
member follower
A B
B C
C D
E A
B E
D E
I have solved but i just wanted to know whether my logic proper or not.
Upvotes: 2
Views: 94
Reputation: 33935
This is all the query you need:
SELECT DISTINCT LEAST(member,follower) member_1
, GREATEST(member,follower) member_2
FROM my_table;
The rest is noise.
Upvotes: 1
Reputation: 40491
One possible way is this :
SELECT greatest(t.member,t.follower) as member1,
least(t.member,t.follower) as member2
FROM YourTable t
GROUP BY
greatest(t.member,t.follower) ,
least(t.member,t.follower)
Upvotes: 0
Reputation: 15061
Try something like:
SELECT member, follower
FROM yourtable
WHERE (SELECT COUNT(*) FROM yourtable WHERE CONCAT(member, follower) = REVERSE(CONCAT(member, follower))) <= 1
Upvotes: 0