如何找到两个人是否彼此跟随

时间:2019-03-28 17:48:24

标签: mysql

这是我的表following,现在我想查找用户1的关注者列表,用户1也跟随该关注者

id   | user  |  follower
-----------------------
 1 |    1        | 2
 2 |    2        | 1
 3 |    1        | 3
 4 |    3        | 1

例如,我想查找同时关注我的关注者列表

2 个答案:

答案 0 :(得分:0)

您可以自行加入表格:

SELECT f1.user
FROM   followers f1
JOIN   followers f2 ON f1.user = f2.follower AND f1.follower = f2.user
WHERE  f1.follower = 1 -- For a specific user

答案 1 :(得分:0)

使用EXISTS

select t.follower from tablename t
where 
  t.user = 1
  and exists (
    select 1 from tablename 
    where user = t.follower and follower = t.user
  )

请参见demo
结果

| follower |
| -------- |
| 2        |
| 3        |