0

MySQL データベースがあり、次のcategoriesようなテーブルがあります。

id  name            parent
--------------------------
1   News            0
2   Analysis        0
3   Europe          1
4   Middle East     1
5   Asia            1
6   Americas        1
7   Commentaries    2
8   Interviews      2
9   Articles        2
10  Reports         2

そして、itemsこのようなテーブル:

id  created                 catid   title
---------------------------------------------
1   2013-08-12 20:15:00     3       Foo
2   2013-08-12 19:15:00     3       Bar
3   2013-08-12 18:15:00     4       Foobar
4   2013-08-12 17:15:00     4       Barfoor
5   2013-08-12 16:15:00     8       Boofar
6   2013-08-12 15:15:00     9       Farfar
7   2013-08-11 16:45:00     10      Farfarbar
8   2013-08-11 16:15:00     5       Foofoobar
10  2013-08-10 16:15:00     7       Foobarbar

私が欲しいのは、指定された親の子であり、最新のアイテムを含むカテゴリにリストすることです。たとえば、ニュース(catid=1) セクションの最新の更新カテゴリが必要な場合、結果は次のようになります。

3   Europe
4   Middle East
5   Asia

結果は最終更新時刻順に並べられていることに注意してください。

大量のレコードがあるため、クエリのパフォーマンスが非常に重要であることを考慮してください。

4

3 に答える 3