在按 *created_time* 排序时,我在使用 FQL 检索一系列帖子时遇到了一些麻烦。似乎当我尝试检索按 *created_time* 排序的帖子时,FQL 首先检索按 *updated_time* 排序的前 50 个帖子(LIMIT 50),然后对前 50 个帖子应用ORDER BY。
每当有人对该帖子发表评论时,*updated_time* 日期时间就会更新,因此,如果有人对 1 年前的帖子发表评论,我第一个查询的最后一篇帖子将是该帖子,我的下一个序列将从该时间点开始(较早超过 1 年)。
这给我带来了一个问题,因为要获得序列中的下 50 个帖子,我必须使用第一个查询的最后一个帖子中的 *created_time* 日期时间。
关于如何以正确方式进行的任何想法?
SELECT post_id,actor_id,message,created_time,updated_time FROM stream WHERE source_id=xxx AND created_time < xxxxxxxx ORDER BY created_time DESC LIMIT 50
例子:
有一个带有时间戳的帖子:'updated_time': 1372837741 和 'created_time': 1372081023
使用以下查询,尽管帖子的 created_time 在指定的 created_time 范围内,但没有结果。
SELECT post_id,actor_id,message,permalink,created_time,updated_time FROM stream WHERE source_id=xxxxxxxxx
AND created_time < 1372081033
AND created_time > 1372081013
但是,如果我将查询范围更改为包含帖子的 updated_time,则会返回上面的帖子。
SELECT post_id,actor_id,message,permalink,created_time,updated_time FROM stream WHERE source_id=xxxxxxxxxxx
AND created_time < 1372837742 AND created_time > 1372081013
这可能是一个错误。
提前致谢!