计算互相关注的SQL应该怎么写
用户好友关系是一个产品的核心数据,只允许互相关注的用户之间发消息称为强关系型产品,比如微信;反之,不互相关注也能看到动态,比如微博,就是弱关系型产品
因为微信的存在,现在基本能做大的都是社区型的,弱关系型的产品了。所以互联网公司就很容易碰到,从单向关注数据中计算是否双向关注这种需求。
假设现在有一张表,叫table_relation里面只有两个字段,from_user,to_user, 代表关注关系从from指向to,即from_user关注了to_user。
一般人会做一次自关联
select
a.from_user,
a.to_user,
if(b.from_user is not null, 1,

在用户好友关系分析中,计算双向关注是常见的需求。本文介绍了如何避免在亿级别用户和百亿关注关系中使用自关联导致的效率低下问题。通过观察双向关注的特性,即排序后结果相同,利用窗口函数可以实现无join的解决方案。同时,文章提醒注意数据重复和非string类型的用户ID情况,以及提供灵活的计算共同特点方法。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



