0

例如,我想知道是否可以获得用户在过去 6 个月中喜欢的所有帖子。

如果我错了,请告诉我,但此查询应该返回我喜欢的所有帖子:

SELECT object_id, post_id FROM like WHERE user_id = me()

我看不到如何过滤结果。

4

1 回答 1

0

你不能轻易地从 like 表中获取 post_id。获取 post_id 的唯一方法是从流表中查询它。这不是任意查询。

这是您应该如何考虑的方式。

首先,您必须从您的信息流中抓取“所有者”发布的帖子,因为这是任意抓取一堆您关心的帖子的最简单方法。

select post_id 
FROM stream 
WHERE filter_key="owner"

然后您必须使用该结果来检查这些 post_ids 是否在您的 like 表中,并且您是喜欢它们的用户:

select post_id 
FROM like WHERE 
post_id in (select post_id from stream where filter_key="owner" 
and created_time> *timestamp from a week ago*)
AND user_id=me()
于 2013-09-17T16:03:01.197 回答