반응형
COL1 | COL2 | ||||
A | 10 | ||||
C | 20 | ||||
D | 10 | ||||
B | 30 | ||||
위 테이블에서 다음의 결과값을 출력하시오. | |||||
COL1 | COL2 | 누적값 | |||
A | 10 | 10 | |||
C | 20 | 30 | |||
D | 10 | 40 | |||
B | 30 | 70 | |||
결과값이 위와 동일해야함. (원래 테이블 순서와 동일, A-C-D-B) |
문제를 풀어보면..
1. 오라클
select col1, col2,
(select sum(col2) from sampletable where rownum <= rn) colsum
from
(
select col1, col2, rownum as rn
from sampletable
)a
2. MS-SQL
여기서는 오라클처럼 rownum 을 구할 수가 없어서 테이블을 만들었다.
sql2000 버전임. 2005에는 비슷한 것이 있다고 들었음. ㅡ,.ㅡ;
SELECT * , IDENTITY(int, 1,1) as idx
INTO spltemp
FROM
(
select * from sampletable
)x
select * from spltemp
select a.col1, a.col2, (select sum(col2) from spltemp where a.idx >= idx) ssum
from spltemp a
뭐.. 이리저리 비슷한것 같기도 함. --;
반응형