选择某一年之前的最大日期

Selecting the maximum date before a certain year

我有一个 table 我想 select 只有最大日期的记录:

ID    Date
01    05MAY2005
01    23JUN2020
01    23JAN2022

问题是我在 table 中有一些 ID,其中最大日期是 2022 年,所以这就是 selected。我如何 select 01JAN2022 之前的记录的最大日期,以便我的输出如下所示:

01    23JUN2020

有多种方法可以实现这一点。 最简单的可能是按降序日期对记录进行排序,然后只获取第一个。 如果您不想要具有特定条件的行,例如 01JAN2022 之后的日期,只需添加一个 WHERE。

您没有指定特定的 RDBMS,因此您的确切语法可能会有所不同。

select *
from YourTable
where date < '2022-01-01'
order by date desc
fetch first 1 row only