我有表格测试,列为 id 、 month 、 year 。我需要在一个查询中获取最大月份和最大年份的 id。
例如
id month year
1 10 2012
2 9 2013
我的结果应该是 id 2 。
首先根据这些基于最大月份的年份检查我需要获取 id
我在 MySQL 中给出这样的查询
select id from book where MAX(month) and MAX(year);
它产生错误
对于这种类型的查询,order by
和limit
都是最好的办法。您似乎想要最新的日期,所以从年份(降序)开始,然后是月份(降序):
select *
from book
order by year desc, month desc
limit 1
特别是,您不需要最大月份和最大年份。根据您想要的结果,您需要最近/最后一个月。
您可以使用 DESC 关键字按年、月排序 :)
SELECT id
FROM book
ORDER BY year DESC, month DESC
LIMIT 0, 1