问题是由于每个FQL查询的默认限制值(LIMIT 100)。
首先SELECT UID2从相知WHERE UID1 =我()运行查询和输出的100个朋友
其次SELECT援助从相册WHERE所有者(..100朋友...)查询运行并输出您的100个朋友的s100相册。
最后选择PID,字幕,援助,老板,链接,src_big,src_small,创建,修改,like_info 从照片WHERE创建> 1325356200和援助(100 ... ...援助)ORDER BY like_info .like_count DESC LIMIT 30查询运行并输出100个相册的结果。
显然结果根本不是你想要的。你可能会尝试自己增加你的限制(比如限制1000),但它从来没有为我工作。获得准确结果的唯一方法是尝试图形API,但执行需要很长时间,最终它将成为一个死选择。
的证明我的回答
尝试运行这些代码
SELECT pid, caption, aid, owner, link, src_big, src_small, created, modified, like_info
FROM photo WHERE created > 1325356200 and aid IN (SELECT aid FROM album WHERE owner IN
(SELECT uid2 FROM friend WHERE uid1=me() order by rand()))ORDER BY like_info DESC LIMIT 30
我用rand()函数来随机朋友
SELECT pid, caption, aid, owner, link, src_big, src_small, created, modified, like_info FROM
photo WHERE created > 1325356200 and aid IN (SELECT aid FROM album WHERE owner IN (SELECT
uid2 FROM friend WHERE uid1=me()) order by rand()) ORDER BY like_info DESC LIMIT 30
在这里,我使用RAND()随机化专辑。您可以尝试随机化这两个查询。每次你执行这些代码,它会给出非常不同的结果,你会发现有更多的图片有更多的喜欢。
感谢Felix的解释。帮助我理解了这个问题。 – Unni