我有两个表,类别和图像。在这里,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 列。