我想在他们的墙上找到用户的帖子,我想限制我得到的记录数量。我是这样使用这个查询:
SELECT post_id, message, attachment, type, place, updated_time FROM stream WHERE source_id = me() AND actor_id = source_id AND type IN (46, 80, 128, 247) LIMIT 10
到目前为止一切顺利。这个问题是,如果我总共有100个帖子,并且在前10个帖子中我有5个符合我查询的结尾,当我放LIMIT 10
时我只得到那5个结果,因为LIMIT
过滤器适用于第一个查询条件,而不适用于该表的总结果。
作为临时解决方法,我将查询更改为:SELECT post_id, message, attachment, type, place, updated_time FROM stream WHERE post_id IN (SELECT post_id FROM stream WHERE source_id = me() AND actor_id = source_id AND type IN (46, 80, 128, 247) LIMIT 100) LIMIT 10
但这不是防弹,因为我只是扩展我想要的结果列表,所以我有更多的数字可供选择。
那么,我怎么能查询想要的结果呢?