mysql表中两列主键的MAX值

时间:2014-09-02 17:47:14

标签: mysql

我有一张名为' commesse'就像这样:

 year    id    field1     field2
 2014    1      asd         asd
 2014    2      asd         asd
 2015    1      asd         asd
 2015    2      asd         asd

第一年和身份证是PK。 我需要一个提取最后一行的查询,也就是说这一行:

 2015    2      asd         asd

我提出了这个问题:

SELECT MAX( year ) , MAX( id )
FROM commesse
GROUP BY year
HAVING year = MAX( year )
ORDER BY year DESC
LIMIT 0 , 1

但我觉得这是一种解决方法,事实上我必须限制结果并对值进行排序,因为该查询提取了两个" 2014 2 asd"和" 2015 2 asd as"。 是否有一种干净的方式来查询表,以便只获得该行? 希望我能很好地解释我的问题。 谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

如果您想要的是具有最大ID和年份的一行,您可以按顺序排序并限制

SELECT * FROM commesse
ORDER BY year DESC, id DESC
LIMIT 1

DEMO