データベースにこのテーブル (フォロワー) があります。
follower | following
---------|----------
1 |2
1 |4
1 |5
1 |6
1 |7
1 |8
2 |4
4 |6
これは、ユーザーのフォローとフォロワーのすべてを文書化したものです。このクエリがありますが、機能していません。
SELECT following
FROM followers
WHERE follower
IN (SELECT following
FROM followers
WHERE follower = 2)
OR following IN (SELECT follower
FROM followers
WHERE following = 2)
私が達成しようとしているのは、ユーザー「2」がフォローしているユーザーのリストと、ユーザー「2」をフォローしているユーザーのリストをマージしたユーザーのリストです。ユーザー「2」が既にフォローしている全員を除外します。また、ユーザー「2」との関係が深い順に並べています。
理想的には、私のデータ出力は次のようになります (ただし、自動的にその順序になるわけではありません)。
suggested_users
---------------
6
1
5
7
8
この質問をする方法について実際には途方に暮れていますが、どうすればこれらの結果を得ることができますか?