二度好友SQL题

昨天遇到一个题目,是关于二度好友的

数据库存储了一张好友关系表friends,表字段为
user_id,friend_id,create_date
用户id,好友id,好友建立时间


如何使用SQL求出某个人的二度好友列表?

这是一道挺有趣的问题

我的初步思路是

select t1.user_id,t2.user_id
from
(  select user_id,friend_id from friends  ) t1
join
(  select user_id,friend_id from friends  ) t2
on t1.friend_id = t2.friend_id
where t1.user_id < t2.user_id

可能还有更好的方式处理,等有空闲的时候再思考一下。
comments powered by Disqus