我有一个要求,即我在表中有记录的列表以及时间和时间戳记。...我需要获取距离最近时间戳记30分钟的最新记录。 需要相同的oracle查询
示例
1 21- feb-2018 9:00
2. 21- feb-2018 8.46
3 21- feb-2018 8.48
4 21- feb-2018 8.30
15 21- feb-2018 8.25
输出
4 21- feb-2018 8.30
请帮助
答案 0 :(得分:0)
如果您至少要说30分钟,那么:
select t.*
from (select t.*, row_number() over (order by date desc) as seqnum
from t
where t.date <= (select max(t2.date) from t t2) - interval '30' minute
) t
where seqnum = 1;
答案 1 :(得分:0)
为什么不简单呢? :
select t.*
from table t
where t.date <= (select max(t2.date) from table t2) - interval '30' minute
order by date desc
fetch first 1 rows only;