次のように、名前にパターンが含まれる Facebook ユーザー (私の友人や特定のユーザーの友人だけでなく、任意のユーザー) を探します。
SELECT first_name,uid FROM user WHERE contains('pete')
これは、名前に「pete」が含まれる (つまり、「peter」も含む) 人の配列を返します。数がかなり多いので、結果はもちろん切り捨てられます。このセット (サーバー側の切り捨ての前) で、私と共通の友達が最も多い (または任意のユーザー ID を持つ) 人を取得したいと思います。ただし、発行
SELECT first_name,uid FROM user WHERE contains('pete') AND mutual_friend_count > 1
と空のセットを与えます(そしてエラーはありません)。サーバーは、パフォーマンス上の理由 (またはドキュメントで見逃した明示的な制限) のために、通常の SQL で発生するように、後者の選択を適用する前に切り捨てられると思います。
ユーザー ID の友達のすべての友達を取得してから、名前を選択するという 2 回目の試行を行いました。ただし、友達の友達を取得することは許可されていません (一部の友達は友達のリストを非表示にしており、これによりクエリが壊れるため、技術的に困難です)。
目標を達成する方法は他にありません...何かありますか? (つまり、ユーザーIDを指定して、共通の友達の数が最も多いユーザーを検索します)。