需要有关oracle sql查询的帮助才能从给定的日期范围获取下一条记录

时间:2015-07-27 02:27:32

标签: sql oracle

例如:

select *
from Table
where startdate >= sysdate-10 and name='abc'
order by startdate.

需要过去10天内的大多数先前记录。

例如SYSDATE=26-Jul-2015,在2015年7月16日之前只需要一张最新记录。

1 个答案:

答案 0 :(得分:0)

我想您只需使用您的查询并选择第一个行号。第一个适用于所有版本的Oracle:

select t.*
from (select t.*
      from Table t
      where startdate >= sysdate-10 and name='abc'
      order by startdate
     ) t
where rownum = 1;

在Oracle 12+中,您可以执行以下操作:

select t.*
from Table t
where startdate >= sysdate-10 and name='abc'
order by startdate
fetch first 1 row only;