3

我有表格测试,列为 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);

它产生错误

4

3 回答 3

2

只需使用月份和年份进行排序:

演示

SELECT id
FROM   books
ORDER  BY year DESC, month DESC
LIMIT  1
于 2013-07-06T12:45:29.953 回答
2

对于这种类型的查询,order bylimit都是最好的办法。您似乎想要最新的日期,所以从年份(降序)开始,然后是月份(降序):

select *
from book
order by year desc, month desc
limit 1

特别是,您不需要最大月份和最大年份。根据您想要的结果,您需要最近/最后一个月。

于 2013-07-06T12:48:11.173 回答
1

您可以使用 DESC 关键字按年、月排序 :)

SELECT id 
FROM book 
ORDER BY year DESC, month DESC 
LIMIT 0, 1
于 2013-07-06T12:44:23.237 回答