問題是由於每個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