fql OR和desc命令用offset

时间:2013-03-21 10:43:49

标签: facebook facebook-fql

我对Facebook的fql请求有一些问题:)。

当我这样请求时

  

SELECT uid,profile_url   FROM user包含('potatoe')或uid in(从profile中选择id包含('potatoe'))   ORDER BY mutual_friend_count desc LIMIT 0,2

即使我更改偏移量,我也总是得到相同的结果......

但是

  • 如果我将DESC更改为ASC,则“偏移”有效......
  • 如果我将OR更改为AND 并通过desc =>命令“偏移”也有效!

我的OR / desc / offset组合出了什么问题? 或者我只是误解了“或”运营商? :/

非常感谢。

2 个答案:

答案 0 :(得分:2)

您应该像这样编写FQL查询:

  

SELECT uid,profile_url   来自用户

     

,其中   uid in(从包含('potatoe')的用户中选择uid)

     
    

或uid in(               从配置文件中选择id包含('potatoe')               )

  
     

ORDER BY mutual_friend_count desc

     

LIMIT 0,2

FQL无法在布尔表达式中解释“contains”的结果,因此您的OR运算符在此处失败...

答案 1 :(得分:0)

我认为问题是你的查询是以两种不同的方式提出同样的问题:

  • 向我显示所有包含'potatoe'
  • 的朋友用户个人资料
  • 显示属于我朋友的用户的所有个人资料,其中包含'potatoe'。

简化您的查询,看看它是否按预期工作。

SELECT uid, profile_url FROM user WHERE contains('potatoe')
   ORDER BY mutual_friend_count DESC LIMIT 0,2