1

我正在尝试从用户的信息流中获取最后 10 个帖子。出于某种原因,我的 FQL 查询将连续返回每个帖子中的两个。这是我的代码,请原谅 CoffeeScript,

method = 'fql.multiquery'
queries = 'feed' : "SELECT attachment , type , created_time , filter_key,     actor_id, description, message  FROM stream WHERE (filter_key = 'others' OR filter_key = 'owner') ORDER BY created_time DESC LIMIT 10"
params =
    method : method
    queries : queries
FB.api (params) , (response) =>
    #and so on

我不太确定为什么会这样。

4

1 回答 1

2

FQL 不能做 group by,而且 Facebook 商店以各种方式发布故事,所以有“倍数”。解决这个问题的方法是选择你需要的列,然后做一个“在哪里”来限制你的结果集,即:

select 
    attachment , type , created_time , filter_key, actor_id, description, message
FROM 
   stream
WHERE 
   post_id in (select post_id 
      FROM 
         stream 
     WHERE 
          (filter_key = 'others' OR filter_key = 'owner' and created_time < [long-ass unix time])
  )
  • 不相信你可以做限制,你应该做小于/大于日期,或者解析和排序结果集
于 2012-07-11T07:35:35.117 回答