简单的SQL问题(MySQL)

Jac*_*ght 2 mysql sql

我有这个问题:

SELECT page.id, revision.title, revision.number
FROM page
    INNER JOIN revision ON page.id = revision.pageId
Run Code Online (Sandbox Code Playgroud)

哪个会返回如下内容:

"1"   "Page Version A"   "1"
"1"   "Page Version B"   "2"
"1"   "Page Version C"   "3"
Run Code Online (Sandbox Code Playgroud)

现在我只想为每个页面返回一行,其中包含最新(编号最高)修订版的数据.如果我做:

SELECT page.id, revision.title, revision.number
FROM page
    INNER JOIN revision ON page.id = revision.pageId
GROUP BY page.id
Run Code Online (Sandbox Code Playgroud)

我明白了:

"1"   "Page Version A"   "1"
Run Code Online (Sandbox Code Playgroud)

但我想要:

"1"   "Page Version C"   "3"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢.

Rah*_*hul 5

添加类似的WHERE子句

WHERE revision.number =(从版本r中选择max(number),其中r.pageId = page.id)