SELECT SUM(VOL_EACH) OVER (ORDER BY ROWID) AS VOL
, VOL_EACH
, AREA
, ELEV
FROM
(
SELECT
CASE WHEN LAG(ELEV,1,0) OVER (ORDER BY ELEV ASC) = 0 THEN 0
ELSE ((AREA + (LAG(AREA,1,0) OVER (ORDER BY AREA ASC)) )
* (ELEV - (LAG(ELEV,1,0) OVER (ORDER BY ELEV ASC))) ) / 2.0
END AS VOL_EACH
, AREA
, ELEV
, IVOL_SEQ
, RSVR_CODE
FROM ANL_RSVR_IVOL
)
결론은
SUM(VOL_EACH) OVER (ORDER BY ROWID)
'Programming > Oracle' 카테고리의 다른 글
TRIGGER 사용 시 MUTATING ERROR(ORA-4091) 해결책 (0) | 2011.11.28 |
---|---|
PL/SQL User's Guide and Reference (0) | 2011.11.25 |
일정 영역의 숫자를 row로 생성하는 오라클(Oracle) 쿼리 (0) | 2011.11.24 |
두 시간 사이를 분단위로 구해보자. (0) | 2011.11.24 |
커서로 반복 작업을 할때에 (0) | 2011.11.17 |
댓글