MySQL获取具有最大值的记录

时间:2014-03-27 10:46:11

标签: mysql

这是我的表名为period。

id | year | month
222 | 2014 | 2
345 | 2013 | 5
33 | 2014 | 1
224 | 2014 | 2

我想获得最新月份(2014-02)的ID。结果应该是222,224。

我写了以下查询。

SELECT id, MAX(year*100 + month) FROM period

但它正在返回以下结果。 222 | 201402

我如何获得结果

2 个答案:

答案 0 :(得分:1)

SELECT x.*
  FROM period x 
  JOIN 
     ( SELECT year
            , month 
         FROM period 
        ORDER 
           BY year DESC
            , month DESC 
        LIMIT 1
     ) y 
    ON y.year = x.year 
   AND y.month = x.month;

答案 1 :(得分:-1)

你应该得到以下问题:---

SELECT id FROM period where year=(SELECT max(year) from period) and month=(SELECT max(month) from period);