2014-01-12 3 views
0

Я пытаюсь получить все последнее обновление позиции моего друга с этим FQL запроса:Facebook FQL получение всех моих друзей последнее обновление позиции

SELECT author_uid, message, latitude, longitude, timestamp FROM location_post WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 

Я хотел бы взять только самое последнее обновление для каждого друга, но это запрос возвращает мне более одного обновления для одного друга. Я попытался установить предел в конце запроса (равный числу моих друзей), но он не работает. Как я должен это изменить?

ответ

0

Если это была обычная база данных, а не FQL Facebook, вы можете использовать объединение и получать свои результаты в одном запросе. К сожалению, Facebook FQL не допускает объединения или даже функции max.

Но вы можете:

Получить весь друг идентификаторы, как в запросе

SELECT uid2 FROM friend WHERE uid1 = me() 

Тогда для каждого друга Uid выполнить запрос

SELECT author_uid, message, latitude, longitude, timestamp FROM location_post 
    WHERE author_uid = FRIEND_ID order by timestamp desc limit 1 
+0

Спасибо за вашу помощь. К сожалению, у Facebook есть ограничение «запрос за минуту», поэтому, если я его превышу, я буду заблокирован на несколько минут. Есть ли другое решение? – eug882

Смежные вопросы