我正在尝试为revision
找到最高Status
(即“2”)和相应的ID=1
(应该是“已存档”),但此查询返回“已删除”
SELECT MAX(`Revision`), `Status` FROM `MY_TABLE_NAME` WHERE ID=1
ID | Revision | Status
1 | 0 | Deleted
1 | 1 | Deleted
1 | 2 | Archived
2 | 0 | ...
2 | 1 | ...
...
这可以简单地完成,例如没有使用组,加入等?我宁愿不要使查询过于复杂,我觉得查询MAX(`revision`)
然后再对Status
进行另一次查询会效率低下。
答案 0 :(得分:1)
最简单的方法是简单地按字段排序并获取第一个结果。
select Revision, Status from MY_TABLE_NAME where ID=1 order by Revision desc limit 1