FQL: получите последние фотографии ваших друзей
Я пытаюсь получить последние фотографии (последние 100), опубликованные моими друзьями.
SELECT src_big FROM photo WHERE owner IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY created DESC LIMIT 100
Проблема в том, что результат кажется неправильным. Похоже, что фотографии, которые я получаю, - это фотографии моих самых последних друзей. Чтобы найти 100 фотографий "последних" друзей, выполнение запроса прекращается, фотографии сортируются и возвращаются.
Есть намеки?
1 ответ
Предполагая, что вы хотите получить самую последнюю фотографию для 100 из ваших друзей, которые недавно использовали Facebook, я бы сделал следующее (кажется, что не существует простого способа сделать это в одном запросе, вы можете посмотреть в пакетные / мульти запросы).
Получите 100 друзей, которые недавно обновили свой профиль
ВЫБЕРИТЕ uid ОТ пользователя, ГДЕ ВХОД uid (ВЫБЕРИТЕ uid2 ОТ ДРУГОГО ГДЕ uid1 = me()) ЗАКАЗАТЬ по profile_update_time DESC LIMIT 100
Для каждого идентификатора друга, запросите его самую последнюю фотографию (например, идентификатор 123). Это можно автоматизировать с помощью простого цикла for.
ВЫБЕРИТЕ src_big, созданный ИЗ фото, ГДЕ владелец = 123 ПОРЯДОК, созданный DESC LIMIT 1