mysql共同好友_MySQL如何查出两个用户的共同粉丝

在QQ中我们可以看到”共同好友”的功能。在微博中我们也可以看到“共同关注”的功能。这些功能其实原理都是一样的。都是查询两个用户的关注列表中是否有相同的属性。

下面我们来看一下如何查出两个用户的共同粉丝。

我们的例子中用到了两张表。一张是用户表(user)。另一张是粉丝表(follower),即某用户有哪些粉丝。这两张表中的数据如下图所示:

0bdd322c74e0217f7dd72b1019e7ab48.png user表

eb62730bc25f8bc90741f96af52ad756.png follower表

用户1有粉丝2、3、4。

用户2有粉丝1、3 、4 。

用户1和用户2有公共的粉丝3、4。

那么我们如何将用户1和用户2的共同粉丝查询出来呢?

答案是使用IN 关键字。

SELECT follower_id FROM follower

WHERE user_id=1 AND follower_id IN(SELECT follower_id FROM follower WHERE user_id=2);

解释一下上面的SQL语句。首先查出用户2的粉丝id列表。然后查询用户1的粉丝id列表,并且最终返回 在用户2的粉丝列表中也存在的 那些用户1的粉丝id。(即,只返回 同时存在于用户1和用户2的粉丝列表中的 粉丝id)

查询结果如下:

ee9b72395c340cd65eda541b9d3ec3549.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值