LoginSignup
1
1

More than 5 years have passed since last update.

片思い?それとも両思い?

Posted at

Twitterのようなサービスで特定のユーザ同士のフォロー情報を取得するSQLのサンプルです。

テーブル定義

次のようなテーブルがあるとします
CREATE TABLE follow (
member INT UNSIGNED NOT NULL,
follower INT UNSIGNED NOT NULL);

取得用SQL

注:参照制約とかは省略しています
input_memberを自分のid
input_followerを相手のidとすると

SELECT MAX(`follower`) AS `follow1`,MIN(`follower`) AS `follow2`
FROM `follower`
WHERE
(`member` = `input_member`
AND `follower` = `input_follower`)
OR
(`member ` = `input_follower`
AND `follower` = `input_member`);

判定方法

もし結果が返ってこなければお互いにフォローしていない
もしfollow1follow2が異なれば両思い
もしfollow1input_memberと同じなら片思い
どれにも当てはまらなければ片思われです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1