怎么用SQL计算可能认识的人
用户关系数据可以有很多应用,比如说好友动态PUSH,朋友圈兴趣发现,好友推荐等等。推荐可能认识的人,属于好友推荐的一种。平台应该把沉淀、培养用户关系作为平台的目标之一。当用户在平台上积累了足够的关系网,用户离开平台的沉没成本就变得很大,所以你看现在人们已经离不开微信。
可能认识的人,主要是基于用户的好友关系计算。假设有用户A,B,C其中AB是朋友,AC也是朋友,那么B和C很大可能也是认识的朋友。这时候向B推荐C或者向C推荐B,他们互相加好友的概率相对就大一些。需要注意一下,这里需要双向关注的强用户关系,单向关注并不在考虑范围之内(计算互相关注的SQL应该怎么写)。
这是一个用SQL就能解决的好问题。假设朋友关系表的名字叫做table_friends
,里面有两列user_1
,user_2
,含义是user_1向user_2提出了好友申请,并且申请通过。
先把最终的SQL摆出来:
select
a.base_user,
a.possible_user,
sum(1) as common_friends_count -- 5、sum
from