sql >> データベース >  >> RDS >> Mysql

MySQLを使用するようにフォロワーをツイッターで取得する

    これでうまくいくはずです:

    SELECT COUNT(me.A) FROM social AS me 
       INNER JOIN social AS you ON me.B = you.A 
    WHERE me.A = you.B AND me.A = 1
    

    COUNTを削除します 友達のリストが必要な場合。

    編集

    要求に応じて、説明。

    あなたはJOIN 行間の関係に関心があるため、テーブルをそれ自体に結合します。

    テーブルのエイリアスをmeにすることにしました およびyou 関係を明確にするために。つまり、その列はA 私をフォロワーと呼ぶことができます またはフォロワーとしてのあなた。列B フォロワーを指します

    列の名前を変更すると、クエリはより明確に読み取られます

    Aの場合 ->follower およびB ->followee 、次のようになります:

    SELECT COUNT(me.follower) FROM social AS me 
       INNER JOIN social AS you ON me.followee = you.follower
    WHERE me.follower = you.followee AND me.follower = 1
    

    つまり、このテーブルのコピーを2つ取り、JOIN meのフォロワーがいる行 youのフォロワーです 。次に、meのフォロワーがいる行のみをフィルタリングして表示します youのフォロワーです ... (A == B) && (B == A)が欲しいというあなたの願望を捉えることで

    おそらくテーブルエイリアスはそれほど素晴らしいものではありませんが、少し明確になることを願っています。

    2回目の編集 以下のコメントによると、より明確なフォームは次のようになります。

    SELECT COUNT(me.A) FROM social AS me 
       INNER JOIN social AS you ON me.A = you.B AND me.B = you.A
    WHERE me.A = 1
    



    1. 30日経過したすべてのレコードを選択します

    2. MySQLは、複数の列を使用して重複するレコードを選択します

    3. Orbeon FormsPostgresDB接続

    4. Oracleのバージョンを確認する7つの方法