SQL Oracle查询需要存取记录

问题描述 投票:0回答:2

我有一个要求,我必须在表中的记录清单,我会和时间戳....我需要取的是从最新的时间戳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

任何帮助,请

sql oracle
2个回答
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;

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;
© www.soinside.com 2019 - 2024. All rights reserved.