选择带有相应字段的max() - No Groups

时间:2017-02-23 14:56:05

标签: mysql

我正在尝试为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进行另一次查询会效率低下。

1 个答案:

答案 0 :(得分:1)

最简单的方法是简单地按字段排序并获取第一个结果。

select Revision, Status from MY_TABLE_NAME where ID=1 order by Revision desc limit 1