sql - 如何在 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()的组合无济于事。任何帮助,将不胜感激。谢谢大家。
解决方案
您可以使用order by
和fetch first
:
select t.*
from t
where t.date < current_date
order by t.date desc
fetch first 1 row only;
这基本上是 ANSI 标准语法。一些数据库更喜欢limit
或. 有些人更喜欢当前日期或其他东西。但逻辑是相同的,即使语法有所不同。top
fetch first
getdate()
sysdate
推荐阅读
- kotlin - 将反射“类型”投射到列表中
在科特林 - c# - 通过移动其 X 和 Z 位置,使沿 Y 轴移动的对象在某个点上保持静止
- algorithm - 绘制给定区域的像素圆
- .htaccess - 使公共域名只能从内部网络访问
- python - ImportError:没有名为 build_lib 的模块
- php - 跳过数据库中存在的实体
- javascript - 为什么 nvm (for windows) 不工作,并且无论何时运行它都会给出错误消息?
- html - 如何处理邮件签名中的动态图像
- sql - 如何将 ISNULL() 函数与 join 一起使用
- c++ - 从另一个文件夹配置时,Automake 使用源的绝对路径