有没有办法访问 SQL 中以前的特定值?

Is there a way to acess previous specific value in SQL?

我在 Oracle live SQL 中使用同样的 table 全年数据(其中间隔可以更大)。

这只是一个例子(全部table的一部分):

我必须添加两列来显示日期所在的时间间隔(基于最小值、介于和最大值之间)。

发件人列: 如果日期在 Oddo 列中标记为 min 或两者都应显示该日期,如果标记为 between 或 max 则应显示前一个最小日期。

收件人专栏: 如果日期在 Oddo 列中被标记为最大或两者都应该只显示该日期,如果它被标记为之间或最小它应该显示下一个最大日期。 最终结果应如下所示:

非常感谢您的任何建议。

在Oracle中,一种方法是条件累积聚合:

select t.*,
       max(case when odd = 'min' then date end) over (order by date) as min_date,
       min(case when odd = 'max' then date end) over (order by date desc) as max_date
from t;