2

Facebookのfqlリクエストに問題があります:)。

このようにリクエストすると

SELECT uid、profile_url FROM user where contains('potatoe')OR uid in(select id from profile where contains('potatoe'))ORDER BY Mutual_friend_count desc LIMIT 0,2

オフセットを変更しても、常に同じ結果が得られます...

だが

  • DESCをASCに変更すると、「オフセット」が機能します。
  • ORをANDに変更し、desc =>による順序を指定すると、「オフセット」も機能します。

OR / desc / offsetコンボに問題がありますか?または、「または」演算子で何かを誤解しただけですか?:/

どうもありがとう。

4

2 に答える 2

2

FQLクエリは次のように作成する必要があります。

SELECT uid、profile_url FROM user

where uid in(select uid from user where contains('potatoe'))

またはuidin(select id from profile where contains('potatoe'))

注文者mutual_friend_countdesc

LIMIT 0,2

FQLはブール式で「含む」の結果を解釈できなかったため、OR演算子はここで失敗しました...

于 2013-03-21T14:28:13.537 に答える
0

問題は、クエリが同じ質問を2つの異なる方法で行っていることだと思います。

  • 'potatoe'を含むすべての友達のユーザープロファイルを表示するまたは
  • 'potatoe'を含む私の友達であるユーザーに属するすべてのプロファイルを表示します。

これに対するクエリを単純化して、期待どおりに機能するかどうかを確認します。

SELECT uid, profile_url FROM user WHERE contains('potatoe')
   ORDER BY mutual_friend_count DESC LIMIT 0,2
于 2013-03-21T13:36:59.033 に答える