Bootstrap

选择日期最小数据oracle,Oracle根据连续性日期的重复数据取最大或最小值日期

原始数据:

fb1da10c3490d167d3b74b40dff3b01b.png

结果数据:

b7aa28e027c8d1b752ee5c9ba7c98bab.png

对比两个图,要是不处理连续性中的重复值,我们直接可以用LEAD函数了事,但处理出来的结果貌似多余。

我的思路是先将原始数据中连续性日期有重复值的处理好,即选择最小的一个,比如2011/01/01和2012/01/01的值是一样,日期又是连续的,所以要去除2012/01/01,保留2011/01/01,让处理出来的截止日期为第4行的日期-1即2012/12/30.

以下是实现代码,有更好更方便的欢迎提出来,共同学习。

/*CREATE TABLE TB(PB_DATE DATE,SAVE_RATE VARCHAR2(10),LEN_RATE VARCHAR2(10));

INSERT INTO TB SELECT DATE'2010-01-01','8%','10%' FROM DUAL;

INSERT INTO TB SELECT DATE'2011-01-01','5%','7%' FROM DUAL;

INSERT INTO TB SELECT DATE

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;