在mysql中获取好友列表

时间:2012-12-29 12:46:15

标签: mysql sql sql-server

我有一张像这样的表:

friend : (userid , friendid)

所以,如果user_auser_b的朋友,我会将下面的行加载到表格中

user_a , user_b

我不usar_b , user_a插入表格。

那么如何通过mysql查询获取user_b的朋友列表?

3 个答案:

答案 0 :(得分:4)

让我们说你想要用户的朋友 你需要得到userA的所有朋友,与朋友是userA的所有用户联合。

假设userA的ID为1001,则查询将为

select UserID from Friends
where FriendID = 1001
Union All
select FriendID from Friends
where UserID = 1001

答案 1 :(得分:0)

条件(t1.id<t2.id)允许我们仅包含一对a,b并排除b,a

select t1.userid user1, t2.userid user2
FROM friends t1
JOIN friends t2 ON (t1.friend=t2.id) and (t1.id<t2.id)

答案 2 :(得分:0)

select a.user,a.friend from 
friend a,friend b
where a.user=b.user and
a.friend=b.friend and a.user<>b.friend
and a.friend<>b.user

试试这个