カテゴリと画像の2つのテーブルがあります。ここで、Category.ID == Images.Category
カテゴリー
-----------------------
| ID | parent | name |
-----------------------
| 1 | 1 | foo |
| 2 | 1 | bar |
| 3 | 2 | lorem |
-----------------------
画像
--------------------------------------
| ID | category | url |
--------------------------------------
| 1 | 1 | foo.jpg |
| 2 | 2 | bar.jpg |
| 3 | 1 | foo2.jpg |
--------------------------------------
MySQLクエリを試しました
SELECT *
FROM `category`
INNER JOIN
(SELECT MAX(ID) , url, category FROM `images` GROUP BY `category`)
AS a ON category.ID = a.category
WHERE `parent` = '1'
結果は
-------------------------------------------
| ID | parent | name | url | max(ID) |
-------------------------------------------
| 1 | 1 | foo | foo.jpg | 3 |
| 2 | 1 | bar | bar.jpg | 2 |
-------------------------------------------
問題は
ここに最後に追加された行のURLが必要ですが、最初の行と同様に、url = foo2.jpgおよびmax(ID)= 3の代わりに、foo.jpgになります。クエリの問題がわかりません。
最後の行を取得するためにmax(ID)を使用します。これにより、max(ID)の正しい最後の行が得られますが、適切なURL列は得られません。