选择具有特定年份的最新日期时间的行

时间:2018-02-15 19:41:25

标签: mysql sql

假设有一个MySQL表,其中包含一个数据类型为datetime的列,并且此列中有许多行2015,2016,2017 ...

问题是我想编写一个查询,查找特定年份最高(最新)日期时间列的行。例如,我希望查询找到2015年最高日期时间值的行。(我假设12月31日高于12月30日)。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

select t.*
from t
where t.datetimecol = (select max(t2.datetimecol)
                       from t t2
                       where year(t2.datetimecol) = year(t.datetimecol)
                      );

答案 1 :(得分:0)

SELECT MAX(mydate) 
FROM mytable
WHERE YEAR(mydate) = 2017

SELECT YEAR(mydate), MAX(mydate)
FROM mytable
GROUP BY YEAR(mydate)