数据库版本低于是10g版本, 太老了
SQL> WITH A AS
2(
3SELECT '20150401' PROFIT_DAY , 1.01 UNIT_PRICE FROm DUAL
4UNION ALL
5SELECT '20150402' PROFIT_DAY , 1.20 UNIT_PRICE FROm DUAL
6UNION ALL
7SELECT '20150403' PROFIT_DAY , NULL UNIT_PRICE FROm DUAL
8UNION ALL
9SELECT '20150404' PROFIT_DAY , NULLUNIT_PRICE FROm DUAL
10UNION ALL
11SELECT '20150405' PROFIT_DAY , 0.95 UNIT_PRICE FROm DUAL
12)
13select profit_day,
14 substr(max(decode(unit_price, null, null, profit_day || unit_price)) over(order by profit_day), 9) unit_price
15from a
16/
PROFIT_DAY UNIT_PRICE
---------- --------------------------------------------------------------------------------
20150401 1.01
20150402 1.2
20150403 1.2
20150404 1.2
20150405 .95
SQL>
|