Mutual friends sql with join (Mysql)

前端 未结 4 1130
情书的邮戳
情书的邮戳 2020-12-06 03:41

I have two tables

users table:

id|name

user_relationships

id | user_id | friend_id

and want to ge

4条回答
  •  青春惊慌失措
    2020-12-06 04:26

    SELECT id, name
    FROM users
    WHERE id IN (
      SELECT friend_id
      FROM user_relationships
      WHERE user_id IN ( 1, 2 )
      GROUP BY friend_id
      HAVING COUNT(friend_id) >= 2
    )
    

    or with one join:

    SELECT friend_id, name
    FROM user_relationships r
      INNER JOIN users u ON r.friend_id = u.id
    WHERE user_id IN ( 1, 2 )
    GROUP BY friend_id
    HAVING COUNT(friend_id) >= 2
    

提交回复
热议问题