假设有一个MySQL表,其中包含一个数据类型为datetime
的列,并且此列中有许多行2015,2016,2017 ...
问题是我想编写一个查询,查找特定年份最高(最新)日期时间列的行。例如,我希望查询找到2015年最高日期时间值的行。(我假设12月31日高于12月30日)。
答案 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)