2011-06-07 76 views
1

我有一个表叫Follow,有三个领域:MYSQL选择往复数据?

  • ID(自动增量INT),
  • 用户ID(INT),
  • 继(INT)

如果我有数据像这样:

ID UserId Following 
-------------------------- 
1  2   3 
2  3   2 
3  2   5 
4  2   6 
5  3   5 

我如何找到用户2的朋友(即:用户2是fol降低他们,他们跟随用户2)

我猜,换句话说,如果用户'a'跟随用户'b',并且用户'b'跟随用户'a',我该如何选择用户A?

回答

4

试试这个:

SELECT a.UserId, a.Following 
    FROM Follow a INNER JOIN Follow b 
    ON a.UserId = b.Following 
    AND b.UserId = a.Following 
1
select f1.UserId 
from Follow f1 
join Follow f2 on f2.Following = f1.UserId and f2.UserId = f1.Following