次の例のテーブルがあります。
+===========================+
| person_id | preference_id |
+===========+===============+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 3 | 4 |
| 4 | 1 |
| 4 | 3 |
| 5 | 2 |
| 5 | 8 |
+___________+_______________+
そして、person_id 1 のセットの最初の 10 個の交差を取得したい (はい、例には 5 人のみが含まれます)。つまり: (1,2,3) ∩ (1) ∩ (4) ∩ (1,3) ∩ (2,8)
person_id 2 の 4 つのセットの 'person_id 1' の 3 つの交差があります: (1) person_id 4 の場合: (1,3) person_id 5 の場合: (2)
//person_id 3: no set that contains in person_id 1
そして… person_id 2、3、4、5 などについてはわかりません。person_id と preference_id には 10000 行以上が含まれます。あなたが見たように、私が望んでいること: - mysql で交差を検索するための高速でクリーンな方法 - 上位 10 の交差を取得します (位置の数を想定すると、person_id 4 が最も関連性が高く、次に 2 と 5) ご注意いただきありがとうございます。