首页 > 解决方案 > 如何在 SQL 中提取过去的最近日期

问题描述

我正在寻找一个显示过去最新日期的 sql 查询。例如,我有以下列:

CLIENT          DATE
1234567890      2017-01-01
1234567890      2018-05-17
1234567890      2018-05-18
1234567890      2018-09-18

期望的输出:

6173282305      2018-05-18

我试过getdate()MAX()的组合无济于事。任何帮助,将不胜感激。谢谢大家。

标签: sqldate

解决方案


您可以使用order byfetch first

select t.*
from t
where t.date < current_date
order by t.date desc
fetch first 1 row only;

这基本上是 ANSI 标准语法。一些数据库更喜欢limit或. 有些人更喜欢当前日期或其他东西。但逻辑是相同的,即使语法有所不同。topfetch firstgetdate()sysdate


推荐阅读