1

好きなページごとにストリームから最新の投稿のみを取得する方法はありますか?

fql?q=
{
    "pg":"SELECT page_id FROM page_fan where uid = me() LIMIT 5",
    "post":"SELECT message, actor_id, source_id, created_time FROM stream 
            WHERE source_id IN (SELECT page_id FROM #pg) 
            ORDER BY created_time desc LIMIT 5"
}

ここでは、お気に入りのページから 5 ページをクエリしますが、私の目標は、作成時間 (desc) で並べられた 5 ページのそれぞれから最新の投稿のみを取得することです。このクエリは機能しますが、最新の投稿だけでなく、1 つのページのより多くの投稿が返されます。1 つのページの最新の投稿のみを取得する方法がわかりません。

アップデート:

5ページごとに最新の投稿を返したいと思います。お気に入り:

page1 - ページ 1 の最新の投稿。page2 - ページ 2 の最新の投稿。page3 - ページ 3 の最新の投稿。作成された時間順 (降順) など...

現在、私のスクリプトはこれを行います:

page1 - page1 の最新の投稿。page2 - ページ 2 の最新の投稿。page2 - ページ 2 の 2 番目に新しい投稿。page2 - ページ 2 の 3 番目の最新の投稿。page4 - ページ 4 の最新の投稿。...絶対にランダム:(

4

1 に答える 1

1

編集された投稿

実際、FQL クエリは、好きな 5 つのページから最新の 5 つの投稿を取得するだけです。1 つのクエリだけで各ページの最初の投稿を取得する方法がわかりません。あなたはしなければならない:

  1. 好きなページの ID を取得: SELECT page_id FROM page_fan where uid = me() LIMIT 5,
  2. それぞれをループpage_id(PHP を使用)、
  3. ページの最初の投稿を取得します: SELECT message, actor_id, source_id, created_time FROM stream WHERE source_id='page_id' LIMIT 1.
于 2013-11-14T07:46:49.490 に答える