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
結果は最終更新時刻順に並べられていることに注意してください。
大量のレコードがあるため、クエリのパフォーマンスが非常に重要であることを考慮してください。