我正在尝试从用户的流中获取最后10个帖子。出于某种原因,我的FQL查询将连续返回每个帖子中的两个。这是我的代码,Pardon the 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
我不确定为什么会这样。
答案 0 :(得分:2)
FQL不能分组,而Facebook以各种方式存储帖子故事,因此有“倍数”。解决这个问题的方法是选择你需要的列,并在“where in”中限制你的结果集,即:
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])
)