计算互相关注的SQL应该怎么写

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算互相关注的SQL应该怎么写

用户好友关系是一个产品的核心数据,只允许互相关注的用户之间发消息称为强关系型产品,比如微信;反之,不互相关注也能看到动态,比如微博,就是弱关系型产品

因为微信的存在,现在基本能做大的都是社区型的,弱关系型的产品了。所以互联网公司就很容易碰到,从单向关注数据中计算是否双向关注这种需求。

假设现在有一张表,叫table_relation里面只有两个字段,from_userto_user, 代表关注关系从from指向to,即from_user关注了to_user。

一般人会做一次自关联

select 
  a.from_user,
  a.to_user,
  if(b.from_user is not null,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值