【发布时间】:2015-04-21 13:33:17
【问题描述】:
我需要从我的合同、项目表中返回一个包含最后日期的最后一个值的结果集;稍后我将需要使用此结果集来预测我预测的剩余月份的值。 我似乎一无所获,我需要记录最后一个日期、每个项目和合同的价值对并进行项目。 我只到了第一部分,即提取最后一个日期,值;第二部分也需要帮助,即获取此结果并进行投影。 我们开始:
我的桌子
contrato,projeto,data,valor
C001 P1 01-APR-15 10
C001 P1 01-APR-15 10
C001 P1 01-MAY-15 15
C001 P2 01-MAY-15 19
C001 P2 01-JUN-15 21
C002 P1 01-JUL-15 19
C002 P2 01-AUG-15 19
我的查询
select CONTRATO,PROJETO,FCST,
LAST_VALUE("PERIODO" IGNORE NULLS)OVER (PARTITION BY contrato,projeto,FCST,periodo ORDER BY contrato,projeto,FCST RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)LAST_DATE
from(
select CONTRATO,PROJETO,periodo,
LAST_VALUE("VALOR" IGNORE NULLS)OVER (PARTITION BY contrato,projeto,periodo,valor ORDER BY PERIODO,contrato,projeto RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )FCST
FROM "HYP_STAGE"."INVENT_TABLE_FCST"
)ORDER BY CONTRATO,PROJETO,PERIODO;
我的结果集,是重复几个月的值,每个月只需要一个值;
C001 P1 10 01-APR-15
C001 P1 10 01-APR-15
C001 P1 15 01-MAY-15
C001 P2 19 01-MAY-15
C001 P2 21 01-JUN-15
C002 P1 19 01-JUL-15
C002 P2 19 01-AUG-15
非常感谢!
【问题讨论】:
标签: sql oracle oracle11g forecasting