1. 다음 중 아래 SQL의 실행 결과 값을 고르시오.
[테이블 T1]
ID | C1 | C2 |
---|---|---|
1 | 1 | 10 |
2 | 2 | 20 |
3 | 2 | 30 |
4 | 2 | 40 |
[SQL]
SELECT R1
FROM (SELECT ID, C1, C2
, SUM(C2) OVER (PARTITION BY C1 ORDER BY C2 DESC) R1
FROM T1
) X
WHERE ID = 2
(1) 40
(2) 70
(3) 90
(4) 100
정답 : 2
Inline View X
의 결과는 다음과 같다.
ID | C1 | C2 | R1 |
---|---|---|---|
1 | 1 | 10 | 10 |
2 | 2 | 20 | 90 |
3 | 2 | 30 | 70 |
4 | 2 | 40 | 40 |
분석 함수 SUM(...) OVER (PARTITION BY ... ORDER BY ...)
는 파티션별 윈도우의 누적합을 계산한다. 누적 순서는 ORDER BY
절의 정렬순서를 따른다.